MATLAB系列笔记:三维绘图(一)

0x00 前言

文章中的文字可能存在语法错误以及标点错误,请谅解;

如果在文章中发现代码错误或其它问题请告知,感谢!

MATLAB版本:MATLAB R2018b。

0x01 三维曲线绘图命令

1.plot3命令

plot3命令是二维绘图plot命令扩展,使用格式基本相同。
例1:
绘制二维曲线和三维曲线。

>> x = 1:0.1:10;
>> y = sin(x);
>> z = cos(x);
>> subplot(1,2,1),plot(y,z)
>> subplot(1,2,2),plot3(x,y,z)

在这里插入图片描述例2:
绘制下列方程三维曲线:

f ( n ) = { x = t , y = s i n ( t ) 在 t = [0, 2 π ]区间的三维曲线 t = c o s ( t ) f(n)= \begin{cases} x = t,\\ y = sin(t) & \text {在 t = [0, 2$\pi$]区间的三维曲线} \\t = cos(t) \end{cases} f(n)=x=t,y=sin(t)t=cos(t) t = [0, 2π]区间的三维曲线

>> x = 0:pi/10:2*pi;
>> y1 = sin(x);
>> y2 = cos(x);
>> plot3(y1,y2,x,'m:p')
>> grid on

在这里插入图片描述

2.ezplot3命令

同二维一样,提供ezplot3为专门绘制符号函数

调用格式说明
ezplot3(x,y,z)在系统默认区域x ∈ \in (-2 π \pi π,2 π \pi π),y ∈ \in (-2 π \pi π,2 π \pi π)上画出空间曲线x=x(t),y=y(t),z=z(t)的图形
ezplot(x,y,z,[a,b])绘制上述参数曲线在a ∈ \in (a,b),b ∈ \in (a,b)上的三维网格曲线
ezplot(…,‘animate’)产生一个空间曲线的动画轨迹

2三维网格命令

1.mesh命令

该命令生成的是由X,Y和Z指定的网线面,而不是单根曲线,它的主要使用格式如下:

调用格式说明
mesh(X,Y,Z)绘制三维网格图,颜色和曲面的高度匹配。若X和Y均为向量,且length(X)=n,length(Y)=m,而[m,n]=size(Z),空间中的点(X(j),Y(i),Z(i,j))为曲面网线的交点,若X与Y均为矩阵,而空间中的点(X(j),Y(i),Z(i,j))为所画曲面的网线交点
mesh(X,Y,Z,c)同mesh(X,Y,Z),只不过颜色由c指定
mesh(Z)生成的网格图满足X=1:n与Y=1:m,[n,m]=size(Z),其中Z为定义在矩形区域上的单值函数
mesh(…,‘PropertyName’,PropertyValue,…)对指定的属性PropertyName设置属性值PropertyValue,可以在同一语句中对多个属性进行设置
h=mesh(…)返回图形对象句柄

例2:
绘制网格面z=x4 + y5

>> x = -4:0.25:4;
>> y = x;
>> [X,Y]=meshgrid(x,y);
>> Z=X.^4+y.^5;
>> mesh(Z);
>> title('网格面')
>> xlabel('x'),ylabel('y'),zlabel('z')

在这里插入图片描述

例3:
使用peaks产生一个山峰曲面函数,利用它画两个图,一个显示其背后的网格,一个不显示:

>> t = -4:0.1:4;
>> [X,Y] = meshgrid(t);
>> Z = peaks(X,Y);
>> subplot(1,2,1)
>> mesh(X,Y,Z),hidden on
>> title('不显示网格')
>> subplot(1,2,2)
>> mesh(X,Y,Z),hidden off
>> title('显示网格')

在这里插入图片描述

2.ezmesh命令

ezmesh专门用来绘制符号函数f(x,y)网格图

调用格式说明
ezmesh(f)绘制f在系统默认区域x ∈ \in (-2 π \pi π,2 π \pi π),y ∈ \in (-2 π \pi π,2 π \pi π) 内的三维网格图
ezmesh(f,[a,b])绘制f在区域x ∈ \in (a,b),y ∈ \in (a,b)内的三维网格图
ezmesh(f,[a,b,c,d])绘制f在区域x ∈ \in (a,b),y ∈ \in (c,d)内的三维网格图
ezmesh(x,y,z)绘制参数曲面x=x(s,t)y=y(s,t),z=z(s,t)在系统默认区域s ∈ \in (-2 π \pi π,2 π \pi π) ,t ∈ \in (-2 π \pi π,2 π \pi π) 内的三维网格图
ezmesh(x,y,z,[a,b])绘制上述参数曲面在s ∈ \in (a,b),t ∈ \in (a,b)内的三维网格图
ezmesh(x,y,z,[a,b,c,d])绘制上述参数曲面在s ∈ \in (a,b),t ∈ \in (c,d)内的三维网格图
ezmesh(…,n)绘制f在系统默认区域x ∈ \in (-2 π \pi π,2 π \pi π),y ∈ \in (-2 π \pi π,2 π \pi π) 内的三维网格图,其中网格数为n*n,n默认值为60
ezmesh(…,‘circ’)在中心圆盘上绘制f的三维网格图

例4:
绘制下列函数三维网格图:
f(x,y)=ey sinx-ex cosy+ex ey

>> syms x y
>> f = sin(x)*exp(y)-cos(y)*exp(x)+exp(x)+exp(y);
>> ezmesh(f,[-pi,pi],30)
>> title('带网格线的三维表面图')

在这里插入图片描述
以上。
参考文档:
1.https://www.zybuluo.com/codeep/note/163962(Markdown 公式指导手册)
2.https://blog.csdn.net/katherine_hsr/article/details/79179622(数学符号和公式)
3.天工在线.中文版MATLAB2018从入门到精通(实战案例版)[M].北京:中国水利水电出版社,2018.

  • 0
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值