Matlab之绘制三维曲面图

发布时间:2023-02-10 22:30

最近在学matlab三维绘图,总结了自己学的一些点,就当是记笔记啦!

情况一:

z和x,y有关系,z=f(x,y)

1、surf方法

        基本语法 surf(X,Y,Z)

        这里的Z可以用X,Y来表示,是关于X,Y的函数形式(z=f(x,y))

2、meshc方法

        基本语法 meshc(x,y,z)

        其实surf和meshc方法类似,区别是surf有填充,mesh没有填充,也就是说surf画出来的图从视觉的角度上来看黑乎乎的,mesh比较干净(比较直白的解释)。

附上程序:

结果图是直接截的图,不规范,大家不要学我哈,正规保存图片!!

clc;
A=[176.923 87.4359 -383.59
160.563 95.493 -421.408
175.034 91.2752 -401.611
133.165 84.3038 -378.734
183.704 82.4691 -369.383
222.345 88.2759 -412.69
145.08 77.9421 -384.823
178.701 77.6623 -388.571
155.385 75.641 -383.59
230.556 80.8333 -415.556
156.667 64.5238 -356.19
167.688 63.6637 -359.399
175.668 62.908 -355.134
148.166 59.8817 -354.083
170.06 57.006 -358.323
13.8507 54.6866 -357.254];
x=A(:,1);y=A(:,2);z=A(:,3);
figure(1)
scatter3(x,y,z)%散点图
[X,Y,Z]=griddata(x,y,z,linspace(min(x),max(x))',linspace(min(y),max(y)),'v4');%插值
figure(2)
surf(X,Y,Z);%三维曲面,需要两个自变量,一个因变量。
figure(3)
mesh(X,Y,Z);%三维曲面(浅色),如果想加等高线meshc(X,Y,Z)
figure(4)
contourf(X,Y,Z); %等高线图
figure(5)
mesh(X,Y,Z);
view(0,0); %调整角度,figure(5)是调整角度后的mesh三维曲面的剖面图
hidden on;%使网格图后面的线条被前面的线条遮住

散点图:

Matlab之绘制三维曲面图_第1张图片

 surf语法(三维曲面):

Matlab之绘制三维曲面图_第2张图片

 mesh语法(三维曲面没有等高线):

 按住这个按钮可以旋转你想调整的角度

Matlab之绘制三维曲面图_第3张图片

 meshc(有等高线,直接在程序里改一下,放在注释后了):

Matlab之绘制三维曲面图_第4张图片

 contourf语法(等高线图):

Matlab之绘制三维曲面图_第5张图片

 mesh(调整角度后的mesh三维曲面的剖面图):

Matlab之绘制三维曲面图_第6张图片

 情况二:

 x,y,z 这三组数据没有一个明显的关系式,比如是三维的矩阵或者是三个向量。这三组数据一一对应,我是做实验提取出来的数据,就可以用这个画图

clc;
x=A(:,1);y=A(:,2);z=A(:,3);%这里的A是做实验提取出来的A矩阵(3*n)
tri = delaunay(x,y);
trisurf(tri,x,y,z);
shading interp%绘制三维曲线图的颜色

还有一些绘制三维绘图的方法没有一一列举,后期会继续更新这个部分!

大家如果有啥问题可以在底下留言或者私信我!

第一次写,如果有啥问题,希望大家批评指正!

愿大家都不会被学习所困扰!

ItVuer - 免责声明 - 关于我们 - 联系我们

本网站信息来源于互联网,如有侵权请联系:561261067@qq.com

桂ICP备16001015号