Matlab学习日志(三)——配色和3D绘图

三维绘图和二维绘图很像,就是两个新指令sufer()和mesh() ,理解一下meshgrid()的原理,各块知识点按块%%分好了

%%
%3D绘图plot3()画3D的线
x=0:0.01:3*pi;
z1=sin(x);
z2=sin(2*x);
z3=sin(3*x);
y1=zeros(size(x));
y3=ones(size(x));
y2=y3./2;
plot3(x,y1,z1,'r',x,y2,z2,'b',x,y3,z3,'g');
legend('11','22','33');
grid on;
%%
% figure(1);
% t1=0:pi/150:pi/2;
% plot3(sin(t1).*2,cos(t1).*2,t1,'g');
% grid on;
% axis square;
turns=40*pi;
t=linspace(0,turns,4000);
x=cos(t).*(turns-t)./turns;
y=sin(t).*(turns-t)./turns;
z=t./turns;
t1=0:pi/150:pi/2;
figure(2);
plot3(x,y,z,'r',sin(t1).*2,cos(t1).*2,t1,'g');
legend('shi1','shiyan2');
xlabel('xxxx');
title('ooo');
grid on;
%%
%3D做面surface()
x=-2:0.2:2;
y=-2:0.2:2;
[X Y]=meshgrid(x,y)%由线绘图向量生成平面绘图用矩阵
Z=X.*exp(-X.^2-Y.^2);
subplot(1,2,1);mesh(X,Y,Z);
subplot(1,2,2);surf(X,Y,Z);
%3D绘图conterour()该函数用于绘制矩阵的等高线。
%3D的sufer()投影,等高线
figure;contour(X,Y,Z);
[C,h]=contour(Z);
clabel(C,h);%标出每个等高线的数值
figure;contour(Z,-0.45:0.05:0.45);%向量改变等高线之间的间隔
%%
x=-2:0.2:2;
y=-2:0.2:2;
[X Y]=meshgrid(x,y);%由线绘图向量生成平面绘图用矩阵
Z=X.*Y;
subplot(1,2,1);surf(X,Y,Z);xlabel('x');ylabel('y');zlabel('z');
subplot(1,2,2);contour(X,Y,Z);;
[C,h]=contour(Z);
clabel(C,h);%标出每个等高线的数值

猜你喜欢

转载自blog.csdn.net/hrwy2920566283/article/details/81289743
今日推荐