how to pause mesh command?

1 visualizzazione (ultimi 30 giorni)
Yah Sha
Yah Sha il 11 Mag 2016
Modificato: maya sara il 17 Mag 2016
i want to plot 3d space using mesh and also i want the grid appear 1 by 1 until it create fully space. this is my actual command:
[X,Y]=meshgrid(0:2/10:2,0:2/10:2);
W=exp(X+Y);
mesh(X,Y,W);
for more understanding based on what i said, look at this command and watch how the point appear:
t = 0:0.1:10*pi;
r = linspace (0, 1, numel (t));
z = linspace (0, 1, numel (t));
figure
axis([-1 1 -1 1 0 1])
hold on
for ii=1:length(r)
plot3 (r(ii)*sin(t(ii)), r(ii)*cos(t(ii)), z(ii),'*');
pause (.001)
end
i hope someone can help me....
  1 Commento
Adam
Adam il 11 Mag 2016
What is the problem exactly?
pause( 0.001 )
is such a short amount of time you may not actually see it pausing though.

Accedi per commentare.

Risposte (2)

Mike Garrity
Mike Garrity il 11 Mag 2016
Modificato: Mike Garrity il 11 Mag 2016
As I explained in this post on the MATLAB Graphics blog, creating a separate graphics object for each data point doesn't scale well.
I would suggest an approach more like this:
[X,Y] = meshgrid(0:2/100:2,0:2/100:2);
W = exp(X+Y);
h = mesh(X(1:2,1:2),Y(1:2,1:2),W(1:2,1:2));
xlim([0 2])
ylim([0 2])
zlim([0 60])
for i=3:101
h.XData = X(1:i,1:i);
h.YData = Y(1:i,1:i);
h.ZData = W(1:i,1:i);
drawnow
end

maya sara
maya sara il 17 Mag 2016
Modificato: maya sara il 17 Mag 2016
I work as a group member with Yah Sha. Here I want to ask how to continue from your command in order to get a full graph appear. Below I attach a full program of our project.
clear
no_fig=0;
for h=0:0.005:0.05
if (h==0)|(h==0.005)|(h==0.025)|(h==0.05)
flag=h;
while flag~=0
%initial value
m=2.0/h;
for i=1:m+1
U(i,1)=exp (h*(i-1));
U(1,i)=exp (h*(i-1));
Ua(i,1)=exp (h*((i-1)+(1-1)));
Ua(1,i)=exp (h*((1-1)+(i-1)));
end
average_error=0;
for i=1:m
for j=1:m
%analytical soln
Ua(i+1,j+1)=exp(h*(i+j));
U(i+1,j+1)= (-U(i,j)+U(i+1,j)+U(i,j+1)+...
(((h^2.0)/4.0)*(U(i,j)+U(i+1,j)+U(i,j+1))))/(1.0-(h^2.0)/4.0);
error(i+1,j+1)=abs (U(i+1,j+1)-Ua(i+1,j+1))/abs (Ua(i+1,j+1));
average_error=error (i+1,j+1)+average_error;
end
end
flag=0;
end
flag=h;
while flag~=0
fprintf ('\nH=%1.4f',h)
fprintf ('\nUa(0.25,0.25)=%2.7f, U(0.25,0.25)=%2.7f, error (0.25,0.25)=%2.7e',...
Ua(round ((0.25+h)/h),round ((0.25+h)/h)), U(round ((0.25+h)/h),round ((0.25+h)/h)),...
error(round((0.25+h)/h),round((0.25+h)/h)))
fprintf ('\nUa(0.5,0.5)=%2.7f, U(0.5,0.5)=%2.7f, error (0.5,0.5)=%2.7e',...
Ua(round ((0.5+h)/h),round ((0.5+h)/h)), U(round ((0.5+h)/h),round ((0.5+h)/h)),...
error(round((0.5+h)/h),round((0.5+h)/h)))
fprintf ('\nUa(0.75,0.75)=%2.7f, U(0.75,0.75)=%2.7f, error (0.75,0.75)=%2.7e',...
Ua(round ((0.75+h)/h),round ((0.75+h)/h)), U(round ((0.75+h)/h),round ((0.75+h)/h)),...
error(round((0.75+h)/h),round((0.75+h)/h)))
fprintf ('\nUa(1.0,1.0)=%2.7f, U(1.0,1.0)=%2.7f, error (1.0,1.0)=%2.7e',...
Ua(round ((1.0+h)/h),round ((1.0+h)/h)), U(round ((1.0+h)/h),round ((1.0+h)/h)),...
error(round((1.0+h)/h),round((1.0+h)/h)))
fprintf ('\nUa(1.25,1.25)=%2.7f, U(1.25,1.25)=%2.7f, error (1.25,1.25)=%2.7e',...
Ua(round ((1.25+h)/h),round ((1.25+h)/h)), U(round ((1.25+h)/h),round ((1.25+h)/h)),...
error(round((1.25+h)/h),round((1.25+h)/h)))
fprintf ('\nUa(1.5,1.5)=%2.7f, U(1.5,1.5)=%2.7f, error (1.5,1.5)=%2.7e',...
Ua(round ((1.5+h)/h),round ((1.5+h)/h)), U(round ((1.5+h)/h),round ((1.5+h)/h)),...
error(round((1.5+h)/h),round((1.5+h)/h)))
fprintf ('\nUa(1.75,1.75)=%2.7f, U(1.75,1.75)=%2.7f, error (1.75,1.75)=%2.7e',...
Ua(round ((1.75+h)/h),round ((1.75+h)/h)), U(round ((1.75+h)/h),round ((1.75+h)/h)),...
error(round((1.75+h)/h),round((1.75+h)/h)))
fprintf ('\nUa(2.0,2.0)=%2.7f, U(2.0,2.0)=%2.7f, error (2.0,2.0)=%2.7e',...
Ua(round ((2.0+h)/h),round ((2.0+h)/h)), U(round ((2.0+h)/h),round ((2.0+h)/h)),...
error(round((2.0+h)/h),round((2.0+h)/h)))
fprintf ('\n*********************************');
fprintf ('***********************************');
fprintf ('\n ' );
fprintf ( 'ERRORS' );
fprintf ( ' FOR AM METHOD (LINEAR) ');
fprintf ('\nh : %2.4f',h );
fprintf ('\n*********************************');
fprintf ('***********************************');
fprintf ('\n| | ');
fprintf ( ' X ');
fprintf ('\n| Y | 0.5 1.0 ');
fprintf ( ' 1.5 2.0 ');
fprintf ('\n| |****************************');
fprintf ('***********************************');
fprintf ('\n|0.5| %2.7e %2.7e %2.7e %2.7e',...
error(round((0.5+h)/h),round((0.5+h)/h)),error(round((0.5+h)/h),round((1+h)/h)),...
error(round((0.5+h)/h),round((1.5+h)/h)),error(round((0.5+h)/h),round((2+h)/h)));
fprintf ('\n|1.0| %2.7e %2.7e %2.7e %2.7e',...
error(round((1+h)/h),round((0.5+h)/h)),error(round((1+h)/h),round((1+h)/h)),...
error(round((1+h)/h),round((1.5+h)/h)),error(round((1+h)/h),round((2+h)/h)));
fprintf ('\n|1.5| %2.7e %2.7e %2.7e %2.7e',...
error(round((1.5+h)/h),round((0.5+h)/h)),error(round((1.5+h)/h),round((1+h)/h)),...
error(round((1.5+h)/h),round((1.5+h)/h)),error(round((1.5+h)/h),round((2+h)/h)));
fprintf ('\n|2.0| %2.7e %2.7e %2.7e %2.7e\n',...
error(round((2+h)/h),round((0.5+h)/h)),error(round((2+h)/h),round((1+h)/h)),...
error(round((2+h)/h),round((1.5+h)/h)),error(round((2+h)/h),round((2+h)/h)));
fprintf('\naverage error = %2.7e\n\n\n',(average_error)/(m^2.0));
flag=0;
end
no_fig=no_fig+1;
if h==0
%exact soln
figure(no_fig)
[X,Y]=meshgrid(0:2/10:2,0:2/10:2);
W=exp(X+Y);
mesh(X,Y,W)
elseif (h==0.25)|(h==0.5)
figure(no_fig)
[X,Y]=meshgrid(0:2/4:2,0:2/4:2);
W=U(1:m/4:m+1,1:m/4:m+1);
mesh(X,Y,W)
else
figure(no_fig)
[X,Y]=meshgrid(0:2/10:2,0:2/10:2);
W=U(1:m/10:m+1,1:m/10:m+1);
mesh(X,Y,W)
end
xlabel('x-axis')
ylabel('y-axis')
zlabel('z-axis')
title('Soln For Linear Problem Using AM Method')
end
end

Tag

Community Treasure Hunt

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

Start Hunting!

Translated by