Day21_0.1基础学习MATLAB学习小技巧总结(21)——MATLAB绘图篇(4)

利用空闲时间把碎片化的MATLAB知识重新系统的学习一遍,为了在这个过程中加深印象,也为了能够有所足迹,我会把自己的学习总结发在专栏中,以便学习交流。

参考书目:《MATLAB基础教程 (第三版) (薛山)》

之前的章节都是基础的数据运算用法,对于功课来说更加重要的内容是建模、绘图、观察数据趋势,接下来我会结合自己的使用经验,来为大家分享绘图、建模使用的小技巧。

在本章中的代码,会以资源的形式发在我的博客里供大家免费下载学习。

三维图的绘制 

plot3三维曲线图
mesh和surf三维曲面图

 

1 plot3

在MATLAB中,plot3函数用于实现三维曲线的绘制,该函数的 官方调用格式为:

例:绘制三维螺旋线

t = 0:pi/50:10*pi;
plot3(sin(t),cos(t),t)
grid on
axis square

 

2 mesh函数和surf函数

 plot3函数只能够绘制三维曲线,但是不能用于绘制曲面。mesh命令可以绘制出在某一区间内完整的网格曲面,surf函数可以绘制三维曲面图。这两个函数的调用格式基本相同,下面以mesh函数为例,以下是关于mesh函数的官方调用格式说明:

例:

X = -1:0.1:1;
Y = X';
X1 = X.^2;
Y1 = Y.^2;
x = ones(3,1);
x = ones(length(X),1);
y = ones(1,length(Y));
X1 = x*X1;
Y1 = Y1*y;
Z = X1+Y1;
subplot(1,2,1),mesh(X,Y,Z);
subplot(1,2,2),surf(X,Y,Z);

 

 

 在绘制三维曲面的时候,使用meshgrid函数经常能够得到很多的便利,该函数用于生成X,Y数组。

用法:

(1)[X,Y] = meshgrid(x,y),将x和y指定的区域转换成数组X,Y,X中的行为x的副本,Y中的列为y的副本。

(2)[X,Y] = meshgrid(x),相当于[X,Y] = meshgrid(x,x)

(3)[X,Y,Z] = meshgrid(x,y,z),用于三维数组

通过meshgrid函数,上面的代码就可以简化成:

[X,Y] = meshgrid([-1:0.1:1]);
Z = X.^2+Y.^2;
subplot(1,2,1),mesh(X,Y,Z);
subplot(1,2,2),surf(X,Y,Z);

还有一些用于绘制三维曲面的函数:

函数功能
mesh绘制三维网格图
surf绘制三维表面图
meshc绘制带有等值线的三维网格图
meshz在图形周围绘制相关直线
trimesh绘制三角形网格图
surfc绘制带有等值线的三维表面图
trisurf绘制三角形表面图

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值