MATLAB三维绘图---三维曲面图

这篇具有很好参考价值的文章主要介绍了MATLAB三维绘图---三维曲面图。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

matlab绘制三维图中,最常见的是三维曲线图三维曲面图
三维曲线图比较简单函数命令为plot3,已经详细介绍过,具体请见Matlab三维绘图------三维曲线图

三维曲面图的不同类型及对比

三维曲面图又分为三维网面和三维网格面图,其原理相似只是调用格式不同而已。总结如下:

plot3(x,y,z);%绘制数据的三维曲线图
mesh(x,y,z); %绘制数据的三维网格面图
surf(x,y,z); %绘制数据的三维网面图
meshc(x,y,z);%绘制数据的三维网格面图,并添加等值线
surfc(x,y,z);%绘制数据的三维网面图,并添加等值线
meshz(x,y,z);%绘制数据的三维网格面图,并添加等值线
[X,Y]=meshgrid(x,y);分别产生两个1、以向量x为行,向量y为列的矩阵,2、并且向量x的长度为新矩阵的列数,y的长度为新矩阵的行数 的新矩阵X和Y.

上面:[X,Y]=meshgrid(x,y)在绘制三维曲面图中非常重要,在用方程绘制曲面图中常用。在这里不赘述,详细介绍可见前文,请点击下面超链接。
比如向量x=[1,2,3],向量y=[4,5],[X,Y]=meshgrid指令的作用是分别产生两个1、以向量x为行,向量y为列的矩阵,2、并且向量x的长度为新矩阵的列数,y的长度为新矩阵的行数 的新矩阵X和Y.
在这里即为两行三列。所以:
X=
1 2 3
1 2 3

Y=
4 4 4
5 5 5

关于[X,Y]=meshgrid指令的作用已详细讲过,具体可见Meshgrid用法简介

关于mesh(x,y,z)、surf(x,y,z)、meshc(x,y,z)、surfc(x,y,z)、meshz(x,y,z);这几个函数的区别,通过绘制高斯矩阵的曲面来看看

z=peaks(40);
mesh(z)
surf(z)
meshc(z)
surfc(z)
meshz(z)

MATLAB三维绘图---三维曲面图
MATLAB三维绘图---三维曲面图
MATLAB三维绘图---三维曲面图
MATLAB三维绘图---三维曲面图
MATLAB三维绘图---三维曲面图
将这些图分别绘制在一张figure上也非常简单,仍然是用到多重子图subplot指令:

z=peaks(40);
subplot(2,3,1);
mesh(z);
subplot(2,3,2);
surf(z);
subplot(2,3,3);
meshc(z);
subplot(2,3,4);
surfc(z)
subplot(2,3,5);
meshz(z)

MATLAB三维绘图---三维曲面图
总结:mesh是网格,surf是网面。网格绘出的三维图就像是渔网一般一格一格的。网面绘出的三维图是曲面的,上面没有格,至于线是辅助线。mesh(z)和surf(z)则是加了等值线,相当于那些值相等,就用圈圈做以标记。meshz(z)是加了一个零平面作为参考。

用方程绘制三维曲面图

举几个不同的例子来说明
例1:
x在[0,2pi],y在[0,2pi],作三维曲面图z=cos(x)+sin(y)

x=(0:0.01:2*pi);
y=x;
[X,Y]=meshgrid(x,y);
z=cos(X)+sin(Y);
mesh(X,Y,z)

MATLAB三维绘图---三维曲面图
注:通常在确定向量x,y的基础上,使用命令meshgrid生成新的矩阵数据[X,Y],再输入函数z=f(x,y,z),最后用mesh或surf指令生成三维曲面图。

如果不用meshgrid生成矩阵的话会有如下错误:
MATLAB三维绘图---三维曲面图

例2:
绘制如下方程的三维曲面图:
MATLAB三维绘图---三维曲面图

x=(-7.5:0.01:7.5);
y=x;
[X,Y]=meshgrid(x,y);
R=sqrt(X.^2+Y.^2);
Z=sin(R)./R;
mesh(X,Y,Z)

MATLAB三维绘图---三维曲面图
通过meshgrid指令将向量x和y,分别生成了矩阵X、Y.那么在以上代码中
R=sqrt(X. ^2+ Y.^2)以及Z=sin(R)./R中的加了.的原因是什么呢?
这是因为在变量运算里有以下几个基本规则:

a.*b     %矩阵a和矩阵b中各个元素相乘
a.*b.*c  %矩阵a,矩阵b和矩阵c中各个元素相乘
a.^2     %求取矩阵a中各个元素的平方
a./b     %矩阵a中各个元素除以矩阵b中的各个元素
a.\b     %矩阵b中各个元素除以矩阵a中的各个元素

因而先通过meshgrid指令将向量变成矩阵X和Y,再通过上述指令:
x的平方就是a.^2 即:X.^2,以及y的平方: Y.^2 ,而sin(R)/R即a./b , 即:sin(R)./R

以上了解了之后用方程绘制三维曲面图就非常简单了,再来一个例子:
MATLAB三维绘图---三维曲面图

x=(-3:0.01:3);
y=(-4:0.01:3);
[X,Y]=meshgrid(x,y);
Z=X.*exp(-(X.^2+Y.^2));
mesh(X,Y,Z)

MATLAB三维绘图---三维曲面图

theta=(-pi:0.05:4*pi);
x=cos(theta);
y=sin(theta);
[X,Y]=meshgrid(x,y);
z=abs(cos(X.*3)).*exp(-abs(theta/3));
mesh(X,Y,z)

MATLAB三维绘图---三维曲面图文章来源地址https://www.toymoban.com/news/detail-472853.html

到了这里,关于MATLAB三维绘图---三维曲面图的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 用 MATLAB 绘制 3D 数据的曲面图

    用 MATLAB 绘制 3D 数据的曲面图 在数据可视化中,曲面图是一种很有用的图形,可以帮助我们更好地了解数据之间的关系。MATLAB 中提供了非常简单的方式来绘制 3D 数据的曲面图。 最基本的曲面图由数据表示的一个网格组成,每个点的高度对应于该点处的数据值。在 MATLAB 中,

    2024年02月10日
    浏览(27)
  • MATLAB二维与三维绘图实验

    本文MATLAB源码,下载后直接打开运行即可[点击跳转下载]-附实验报告 https://download.csdn.net/download/Coin_Collecter/88740747 掌握图形对象属性的基本操作。 掌握利用图形对象进行绘图操作的方法。 利用图形对象绘制曲线,要求先利用默认属性绘制曲线,然后通过图形句柄操作将曲线

    2024年01月17日
    浏览(34)
  • 【MATLAB绘图进阶第3弹】Matlab绘制热图系列

    热图的主要作用是直观展示重点研究对象的差异情况,多用于经济学与工学差异性分析之中,我们常见的多变量 相关系数矩阵与混淆矩阵 就可以通过热图增加图示的美感,南同学将和大家一起实现一张多样化的热图绘制! 配色 重要的事情说三遍:配色、配色、配色!!!好

    2024年02月09日
    浏览(36)
  • Matlab进阶绘图第16期—三维填充折线图

    三维填充折线图是在三维折线图的基础上,对其与XOY平面之间的部分进行颜色填充,从而 能够更好地刻画细节变化 。 由于Matlab中未收录三维填充折线图的绘制函数,因此需要大家自行设法解决 。 本文使用自制的FilledPlot3小工具进行三维填充折线图的绘制,先来看一下成品效

    2024年02月08日
    浏览(59)
  • 三、matlab绘制三维坐标图

    plot3函数与plot函数用法十分相似,其调用格式为: plot3(x1,y1,z1,选项1,x2,y2,z2,选项2,…,xn,yn,zn,选项n)    其中每一组x,y,z组成一组曲线的坐标参数,选项的定义和plot函数相同。当x,y,z是同维向量时,则x,y,z 对应元素构成一条三维曲线。当x,y,z是同维矩阵时,则以x,y,z对应列元素绘

    2024年02月07日
    浏览(35)
  • matlab奇技淫巧——绘制三维地图

      在数据处理工作中,常常会用到地图的绘制,最常用的自然是绘制平面的区域/全球地图,通过 即可绘制,效果如下,其中经度为 − 180 ∼ 180 -180sim180 − 180 ∼ 180 ,负为西经,正为东经,纬度为 − 90 ∼ 90 -90sim90 − 90 ∼ 90 ,北纬为正,南纬为负。   不过本博文题目

    2024年02月07日
    浏览(43)
  • MATLAB数学建模:数据图形可视化-三维绘图函数

    在 MATLAB 中, 我们可使用函数 surf 和 surfc 绘制三维曲面图. 调用格式如下: 以矩阵 ZZZ 所指定的参数创建一个渐变的三维曲面. 坐标 $x = 1:n, y = 1:m, $ 其中 [m,n]=size(Z)[m,n] = size(Z)[m,n]=size(Z) 以 ZZZ 确定的曲面高度和颜色, 按照 X,YX,YX,Y 形成的格点矩阵, 创建一个渐变的三维曲面. X,

    2024年02月06日
    浏览(44)
  • 【MATLAB基础绘图第5棒】绘制气泡图

    MATLAB绘制气泡图可用来对比不同数据组数据、评估指标权重可视化等,需基于MATLAB2021a及以上版本进行绘制,该2021a之前版本无气泡图函数。 以评估指标权重可视化为例,AHP法经专家赋权后获得的判断矩阵如图1,现利用气泡图来将其可视化,更直观的给审稿人印象,绘制步骤

    2024年02月14日
    浏览(34)
  • 【MATLAB基础绘图第7棒】绘制各式柱状图

    绘制分组数据,并对 数据格式和边框 等进行设置,成图如下所示: MATLAB绘制代码如下: 图源:J2022-Observed decrease in light precipitation in part due to urbanization-Scientific Reports 成图如下: MATLAB代码如下: 区间范围柱状图 是柱状图的一种,能够更加清晰地展示各类目数据区间范围分布

    2024年02月09日
    浏览(31)
  • matlab绘制三维点云和点云凸包

    点击 选择素材文件夹 按键,选择素材所在的文件夹。 在第一个文本框里会显示出所选择的文件夹路径。 在下面的列表框中会显示所选择文件夹下的所有后缀为ply的文件。 点击需要绘图的点云数据。 点击 绘制点云 ,将绘制点云图像。 点击 绘制凸包 ,将绘制所选择的文件

    2024年02月06日
    浏览(30)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包