plot3(plot3和mesh的区别)

昕阳小编 194 0

怎么用matlab处理数据画出3维图?

你这个问题我感觉还是没说清楚啊!如果x,y,z都是40x1的矩阵,那应该只能画曲线而不是曲面吧!!

meshgrid是生成栅格点数据,mesh是画网格面,surf是画表面图。

画三维曲线应该是plot3(x,y,z)

_____________________________________

看了下楼下说的,我发现我误解了。

mesh,surf都是在规则网格数据下作图,而混乱的散点网格作图,可以用trimesh,trisurf.

例子如下:

x=10*rand(1000,1)-5;

y=10*rand(1000,1)-5;

%x、y是随机的,所以不等距。

z=x.^2-y.^2;

%这里我用的是马鞍面的函数式,

tri

=

delaunay(x,y);

%这一句相当于以前的meshgrid造网格,不过是不规则网格

trimesh(tri,x,y,z)

%这里trimesh也可以改为trisurf

这个是三角插值作图。

matlab画图

x=-1:0.1:1;

y=-2*pi:0.1:2*pi;

[X,Y]=meshgrid(x,y);

Z=exp(2*X).*cos(Y);

figure(1)

plot3(X,Y,Z)

xlabel('x')

ylabel('y')

zlabel('z')

title('三维曲线图plot3')

figure(2)

mesh(X,Y,Z)

xlabel('x')

ylabel('y')

zlabel('z')

title('三维网格图mesh')

figure(3)

surf(X,Y,Z)

xlabel('x')

ylabel('y')

zlabel('z')

title('三维曲面图surf')

或者

x=-1:0.1:1;

y=-2*pi:0.1:2*pi;

[X,Y]=meshgrid(x,y);

Z=exp(2*X).*cos(Y);

subplot(131)

plot3(X,Y,Z)

xlabel('x')

ylabel('y')

zlabel('z')

title('三维曲线图plot3')

subplot(132)

mesh(X,Y,Z)

xlabel('x')

ylabel('y')

zlabel('z')

title('三维网格图mesh')

subplot(133)

surf(X,Y,Z)

xlabel('x')

ylabel('y')

zlabel('z')

title('三维曲面图surf')

legend只能对一个坐标轴里的多条曲线做说明,而你要求做的图显然需要3个不同的坐标轴,即不在同一坐标轴内,所以没法用legend对他们做说明。

事实上label和title已经把图形的意义说的很清楚了,也没必要再说明什么了。

plot3(plot3和mesh的区别)-第1张图片-昕阳网

请教MATLAB 画三维直线图

可以用plot3函数来画。它与plot函数用法十分相似,其调用格式为:

plot3(x1,y1,z1,选项1,x2,y2,z2,选项2,…,xn,yn,zn,选项n)

例如:

t=0:pi/100:20*pi;

x=sin(t);

y=cos(t);

z=t.*sin(t).*cos(t);

plot3(x,y,z);

title('Line in 3-

D Space');

xlabel('X');ylabel('Y');zlabel('Z');

Matlab中已知数据怎么画曲线

二维数据的分布曲线可以用函数plot(x,y)画出分布曲线。

例如有数据

x=0:0.1:2*pi;y=sin(x);

plot(x,y);

三维的数据的分布曲线可以用函数plot3(x,y,z)画出分布曲线。

例如:

t=0:0.1:2*pi;x=cos(t);y=sin(t);z=t;

plot3(x,y,z);;

plot(x,y)函数中,x为二维数据点的横坐标,y为二维数据点的纵坐标。

plot3(x,y,z);函数中,x,y,z分别为三维数据的3个坐标数据。

以上文章内容就是对plot3和plot3和mesh的区别的介绍到此就结束了,希望能够帮助到大家?如果你还想了解更多这方面的信息,记得收藏关注本站。

标签: plot3

抱歉,评论功能暂时关闭!