I am creating a gif of a number of 3D plots where x and y are between 0 and 1. However, MatLab is only plotting the data (which is stored in a matrix) of the line where x and y are equal, and not the total surface.
How can I fix it? Thank you in advance
Here is the figure code:
n = 1:steps;
nImages = length(n);
x = (0:0.05:1)';
y = (0:0.05:1)';
fig = figure;
for idx = 1:nImages
z = final_matrix(:, :, idx);
plot3(x,y,z,'LineWidth',3)
xlim([0 1]);
ylim([0 1]);
zlim([0 5]);
xlabel('\xi');
ylabel('\eta');
title(['\phi for \tau = ' num2str( n(round(idx, 3))*0.025 - 0.025) ])
drawnow
frame = getframe(fig);
im{idx} = frame2im(frame);
end
close;

 Réponse acceptée

Jonas
Jonas le 18 Mai 2021

0 votes

it you want to plot the surface then use the surf(x,y,z) command

2 commentaires

Abcdefghi Abcdef
Abcdefghi Abcdef le 18 Mai 2021
I was not aware of this function.
It solved the problem.
Thank you for the help.
Jonas
Jonas le 18 Mai 2021
no problem ;)

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur Line Plots dans Centre d'aide et File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by