
MATLAB系列笔记:三维绘图(一)
发布日期:2021-05-08 18:43:17
浏览次数:23
分类:精选文章
本文共 2561 字,大约阅读时间需要 8 分钟。
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('带网格线的三维表面图')
发表评论
最新留言
能坚持,总会有不一样的收获!
[***.219.124.196]2025年04月07日 21时44分39秒
关于作者

喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
Hibernate入门(四)---------一级缓存
2021-05-09
MySQL事务(学习笔记)
2021-05-09
一个web前端开发者的日常唠叨
2021-05-09
内存分配-slab分配器
2021-05-09
技术写作技巧分享:我是如何从写作小白成长为多平台优秀作者的?
2021-05-09
Jupyter Notebook 暗色自定义主题
2021-05-09
[Python学习笔记]组织文件
2021-05-09
基于Redo Log和Undo Log的MySQL崩溃恢复流程
2021-05-09
从RocketMQ的Broker源码层面验证一下这两个点
2021-05-09
如何正确的在项目中接入微信JS-SDK
2021-05-09
纵览全局的框框——智慧搜索
2021-05-09
快服务流量之争:如何在快服务中占领一席之地
2021-05-09
【活动】直播揭秘<如何从0开发HarmonyOS硬件>
2021-05-09
Unity平台 | 快速集成华为性能管理服务
2021-05-09
对模拟器虚假设备识别能力提升15%!每日清理大师App集成系统完整性检测
2021-05-09
使用Power BI构建数据仓库与BI方案
2021-05-09
Django认证系统并不鸡肋反而很重要
2021-05-09
tep用户手册帮你从unittest过渡到pytest
2021-05-09
12张图打开JMeter体系结构全局视角
2021-05-09
Spring Boot 2.x基础教程:构建RESTful API与单元测试
2021-05-09