matlab meshc函数_MATLAB三维图形
7.3 三维图形
除了绘制二维图形,MATLAB还提供了一系列强大的三维图形绘制函数,这些函数的分类列表如图7-29所示。
可以看出,MATLAB基本的三维图形包括线型(line)、网格型(mesh)、区域型(area)、面型(surface)、方向矢量型(direction)、容积型(volumetric)等多种类型,图中已经将各个函数所能够绘制图形的基本样式做了小的缩略图。本节介绍常用三维绘图函数的使用。至于其他的绘图函数,因篇幅有限,这里不再介绍,请读者查阅帮助文档。
图7-29 三维图形绘制函数分类列表
7.3.1 绘制三维曲线图
在MATLAB中,plot3函数用于绘制三维曲线图。该函数的用法和plot类似,其调用语法如下。
(1)plot3(X1,Y1,Z1,...): X1、Y1、Z1为向量或者矩阵。当X1、Y1、Z1为长度相同的向量时,此函数将绘制一条分别以向量X1、Y1、Z1为x、y、z坐标的空间曲线;当X1、Y1、Z1为矩阵时,该命令以每个矩阵的对应列为x、y、z坐标绘制出m条空间曲线。
(2)plot3(X1,Y1,Z1,LineSpec,...) :通过LineSpec设置曲线和点的属性。
(3)plot3(...,'PropertyName',PropertyValue,...):利用指定的属性绘制图形。
(4)h = plot3(...):返回一个图形对象句柄的列向量。
【例7-26】 绘制三维螺旋线。
Ex_7_26.m
t = 0:pi/50:10*pi;
plot3(sin(t),cos(t),t)
grid on
axis square
以上代码运行的结果如图7-30所示。
图7-30 三维螺旋线
7.3.2 绘制三维曲面图
在MATLAB中,除了plot3函数可用于绘制三维图形外,还有一些函数可以用来绘制三维网格图和曲面图。下面分别介绍这些函数。
1.三维网格图
mesh函数用于绘制三维网格图,其调用语法如下。
(1)mesh(X,Y,Z):绘制出一个网格图,图像的高度由Z来决定,另外图像的颜色也由Z确定,即图像的颜色与高度成正比。如果X和Y为向量,那么length(X)= n,且
(2)ength(Y) = m,其中[m,n]= size(Z),在绘制的图形中,网格线上的点由坐标(X(j), Y(i), Z(i,j))决定。向量X对应于矩阵Z的列,向量Y对应矩阵Z的行。
(3)mesh(Z):以Z的元素为z坐标,元素对应矩阵的行数和列数分别为x和y坐标。
(4)mesh(...,C):C为矩阵。绘制出的图像的颜色由C指定。MATLAB对C进行线性变换,得到颜色映射表。如果X、Y、Z为矩阵,矩阵的维数则应该与C相同。
(5)mesh(...,'PropertyName',PropertyValue,...):利用指定的属性绘制图形。
(6)mesh(axes_handles,...):利用指定的坐标轴绘制,axes_handles为坐标轴句柄。
(7)meshc(...):创建一个匹配有二维等高线图的网格图。
(8)meshz(...):绘制出网格周围的参考面。
(9)h = mesh(...):返回一个图形对象的句柄。
【例7-27】 绘制函数的网格图。
Ex_7_27.m
x=-4:.2:4;y=x;
[X,Y]=meshgrid(x,y);
Z=X.^2+Y.^2;
mesh(X,Y,Z)
以上代码运行的结果如图7-31所示。
【例7-28】 绘制peaks函数的三维网格图及其在底面投影的等高线图。
Ex_7_28.m
[X,Y] = meshgrid(-3:.125:3);
Z = peaks(X,Y);
meshc(X,Y,Z);
axis([-3 3 -3 3 -10 5])
以上代码运行的结果如图7-32所示。
图7-31 三维网格图图
7-32 peaks函数三维网格图及其在底面投影的等高线图
2.三维曲面图
函数surf用来绘制三维表面图形,其调用语法如下。
(1)surf(Z)和surf(Z,C):在这两个用法中,X默认为X=1:n,Y默认为Y=1:m,此时Z是一个单值函数。
(2)surf(X,Y,Z):如果X和Y为向量,那么length(X)= n,且length(Y) = m,其中[m,n]= size(Z),在绘制的图形中,网格线上的点由坐标(X(j), Y(i), Z(i,j))决定。向量X对应矩阵Z的列,向量Y对应矩阵Z的行。
(3)surf(X,Y,Z,C):通过4个矩阵参数绘制彩色的三维表面图形。其中,图形的视角由view函数值定义;图形的各轴范围由X、Y、Z通过当前的axis函数值定义;图形的颜色范围由C定义。
(4)surf(...‘PropertyName’,PropertyValue,...):设置图形表面的属性值,单个语句可以设定多个属性值。
(5)surf(axes_handles,...):利用指定的坐标轴绘制,axes_handles为坐标轴句柄。
(6)surfc(...):创建一个匹配有二维等高线图的曲面图。
(7)h = surf(...):返回一个图形对象的句柄。
【例7-29】 绘制peaks函数的曲面图。
Ex_7_29.m
[X,Y,Z] = peaks(30);
surfc(X,Y,Z)
colormap hsv
axis([-3 3 -3 3 -10 10])
以上代码运行的结果如图7-33所示。
图7-33 peaks函数曲面图
7.3.3 特殊三维图形
1.三维条形图
在MATLAB中,可以使用函数bar3和bar3h来绘制三维条形,它们的调用语法与前面讲的函数bar和barh相似,这里不再赘述。
【例7-30】 使用bar3和bar3h函数绘制条形图示例。
Ex_7_30.m
X=rand(5,5)*10; % 产生5×5矩阵,其中每个元素为1~10之间的随机数
subplot(221),bar3(X,'detached'),title('detached');
subplot(222),bar3(X,'grouped'),title('grouped');
subplot(223),bar3h(X,'stacked'),title('stacked');
subplot(224),bar3h(X,'detached'),title('detached');
以上代码运行的结果如图7-34所示。
图7-34 三维条形图示例
2.三维球体图
MATLAB提供了sphere函数来生成三维球体图。
【例7-31】 sphere函数使用示例。
Ex_7_31.m
subplot(2,2,1)
sphere(8) % 括号中的数字指生成球体的面数,这里是指8×8
axis equal
subplot(2,2,2)
sphere(16)
axis equal
subplot(2,2,3)
sphere(24)
axis equal
subplot(2,2,4)
sphere(32)
axis equal
以上代码运行的结果如图7-35所示。
3.三维饼形图
函数pie3用于绘制三维饼形图,其用法与二维饼形图函数pie基本相同。
【例7-32】 使用函数pie3绘制三维饼形图。
Ex_7_32.m
x=rand(1,5); % 产生一个含有5个0~1之间的随机数构成的向量
explode=[0 1 0 0 0]; % 分离出向量x的第二个元素
pie3(x,explode)
以上代码运行的结果如图7-36所示。
图7-35 三维球体图示例图
7-36 三维饼形图示例
4.三维箭状图
函数quiver3用来绘制三维的箭状图或速度矢量图,其用法和quiver类似。
【例7-33】 绘制曲面的曲面法线。
Ex_7_33.m
[X,Y] = meshgrid(-2:0.25:2,-1:0.2:1);
Z = X.* exp(-X.^2 - Y.^2);
[U,V,W] = surfnorm(X,Y,Z);
quiver3(X,Y,Z,U,V,W,0.5);
hold on
surf(X,Y,Z);
colormap hsv
view(-35,45)
axis ([-2 2 -1 1 -.6 .6])
hold off
以上代码运行的结果如图7-37所示。
5.三维等高线图
contour3函数用于绘制一个矩阵的三维等高线图,其用法与contour函数基本相同。
【例7-34】 绘制函数的等高线图形,并使用cool颜色图。
Ex_7_34.m
[X,Y] = meshgrid([-2:.25:2]); % 生成维数相同的两个矩阵X,Y
Z = X.*exp(-X.^2-Y.^2);
contour3(X,Y,Z,40) % 绘制Z的等高线,40为等高线的数目
surface(X,Y,Z,'EdgeColor',[.8 .8 .8],'FaceColor','none')% 绘制表面图
grid off % 去掉网格线
view(-15,25) % 设定视角
colormap cool % 建立颜色图
以上代码运行的结果如图7-38所示。
图7-37 曲面法线图
图7-38 三维等高线图示例
matlab meshc函数_MATLAB三维图形相关推荐
- matlab meshc函数_MATLAB函数库大全(收藏版)
转发朋友圈获30赞,截图发送至公众号对话框,即可获该文章的PDF版本方便阅读. 目录 1 常用命令 表1.1 管理用命令 表1.2管理变量与工作空间用命令 表1.3文件与操作系统处理命令 表1.4窗口 ...
- MATLAB 色图函数绘制多彩图形
MATLAB 色图函数绘制多彩图形 笔者在做SIR模型的时候,需要绘制多条线于同一图像上对比不同参数的影响,因而用到了色图函数 直入主题 先上色图的参考文档 这是完整的SIR模型的绘图 在 曲线较少 ...
- matlab画转体_matlab三维作图教程
原标题:matlab三维作图教程 三维曲线 plot3函数与plot函数用法十分相似,其调用格式为: plot3(x1,y1,z1,选项1,x2,y2,z2,选项2,-,xn,yn,zn,选项n) 其 ...
- matlab绘图z=sin(x_「matlab画三维图」Matlab 应用之绘制三维图形(基础篇) - seo实验室...
matlab画三维图 在Matlab中,三维图形的绘制包括三维曲线,三维网线图和三维曲面图.闲话不多说,直接进入正题.首先介绍几个函数: 1.plot3(x,y,z,-) 其中,x,y,z为维数相同的 ...
- matlab三维选取二维,基于Matlab绘制二维和三维图形以及其他图形控制函数的使用方法...
Matlab绘图 强大的绘图功能是Matlab的特点之一,Matlab提供了一系列的绘图函数,用户不需要过多的考虑绘图的细节,只需要给出一些基本参数就能得到所需图形,这类函数称为高层绘图函数.此外,M ...
- matlab meshgrid函数_matlab入门(三)图像可视化
matlab图像可视化 基本要求 (1)掌握图形窗口的创建与控制,以及图形窗口的基本操作:(2)熟练掌握二维和三维绘图基本的命令.线型控制:(3)初步掌握用特殊的图形来表现特殊数据的性质,如面积图.直 ...
- Matlab绘图基础——其他三维图形(绘制填充的五角星)
其他三维图形 %绘制魔方阵的三维条形图 subplot(2,2,1); bar3(magic(4)); %以三维杆图形式绘制曲线y=2sin(x) subplot(2,2,2); y=2*sin( ...
- matlab s函数_matlab结构体 rmfield,arrayfun,structfun,struct2cell,cell2struct
觉得有用的话,请点击右下角 推荐给更多小伙伴 neoken_xuAsurada2015Evacloud 本文为matlab自学笔记的一部分,之所以学习matlab是因为其真的是人工智能无论是神经网络还 ...
- matlab norm函数_MATLAB | TAM 211 存活指南 V3.0
点击蓝字 关注我 本文大部分内容为2019年初次接触 TAM 211时所写,后续存在少量修改与增补.叙述时间可能有点错乱,凑合着看吧. 新的学期,我们迎来了 TAM 211 , 静力学的课程.虽说这是 ...
最新文章
- Struts2和SpringMVC简单配置以及区别总结
- 公司用的 MySQL 团队开发规范
- 单片机软件proteus的汉化步骤
- 阿里“火拼”拼多多,要“1元”抢占下沉市场
- Myeclipse8.5配置本地tomcat
- c++ 调用python返回指针
- 第2课第3节_Java面向对象编程_继承性_P【学习笔记】
- 11g RAC OCR,VOTING DISK存储全部损坏,利用自动备份,恢复OCR,VOTING DISK到新存储。...
- 深度学习之 DCN(Deformable Convolution)-可变形卷积
- 了解 | 你必须了解的Mysql 三大日志
- eclipse java 报错信息_解决Eclipse启动时报Initializing Java Tooling异常信息
- GCN实践——可视化cora-network
- linux内核学习资料总结
- Google ptorobuf相关知识
- linux7磁盘挂载大于16T,CentOS6.5挂载超过16T的大容量存储空间,格式化为xfs
- 个人最喜欢的几款火狐扩展
- BBQ EasyBuns
- 肾有多好,人就有多年轻。男女通用
- linux系统常用命令列举
- LIO-livox - 激光IMU初始化模块分析
热门文章
- UE/UX 设计师可临摹的应用模板!
- 手把手教你入侵网站修改数据_手把手教你使用Python抓取QQ音乐数据(第四弹)...
- 音乐播放器的设计与实现
- 常用函数的连续傅里叶变换对
- 使用BPF进行性能追踪-BPF前世今生
- (5)Linux进程调度-CFS调度器
- php采集单线程卡死,php - 为什么我这段curl采集,单线程比多线程还快?
- 在sqlyog进行数据库的备份_狂神说MySQL07:权限及如何设计数据库
- netty的handler里面ctx.channel().writeAndFlush()和ctx.writeAndFlush()的区别
- php可逆加密函数,简洁的PHP可逆加密函数