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;

 채택된 답변

Jonas
Jonas 2021년 5월 18일

0 개 추천

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

댓글 수: 2

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

댓글을 달려면 로그인하십시오.

추가 답변 (0개)

카테고리

질문:

2021년 5월 18일

댓글:

2021년 5월 18일

Community Treasure Hunt

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

Start Hunting!

Translated by