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)






将这些图分别绘制在一张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)


总结: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)


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

如果不用meshgrid生成矩阵的话会有如下错误:

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

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)


通过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

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

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)

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三维绘图---三维曲面图相关推荐

  1. Matlab三维绘图------三维曲线图

    在matlab中绘制的三维图主要有三种: 三维曲线图.立体网状图.和三维曲面图 其基本命令为: plot3 %三维曲线图 mesh %立体网状图 surf %三维曲面图 三维曲线图基本绘图函数 函数命 ...

  2. python matplotlib绘制 3D图像专题 (三维柱状图、曲面图、散点图、曲线图合集)

    python matplotlib 绘制3D图表 文章目录 1. 绘制3D柱状图 2. 绘制3D曲面图 ① 示例1 ② 示例2 3.绘制3D散点图 4. 绘制3D曲线图       ʚʕ̯•͡˔•̯᷅ ...

  3. matlab笔记——绘图篇——折线图+散点图+饼图+直方图+柱状图+箱线图+三维图+地图

    今天早上刚讲完课,一个小时的培训准备起来也很不容易呐,但是讲完还是挺开心的啦. 现在来把绘图篇更新一下. 这篇主要就讲matlab数据可视化,介绍一下matlab基本图形绘制. 绘图篇 数据导入 给大 ...

  4. MATLAB三维绘图(三)绘制等值线图

    MATLAB三维绘图(三)绘制等值线图 1.使用contour函数绘制等值图,示例: %% 显示不同颜色的梯度图 clear; clc; close all; x = -3.5:0.2:3.5; y ...

  5. matlab的三维绘图和四维绘图

    一.三维绘图 1.曲线图 plot3(X1,Y1,Z1,...):以默认线性属性绘制三维点集(X1,Y1,Z1)确定的曲线 plot3(X1,Y1,Z1,LineSpec):以参数LineSpec确定 ...

  6. 《matlab科研绘图系列》之小提琴图绘制

    相信大家对小提琴图并不陌生,它是比箱形图更易于视觉直观解读的图形绘制方法.它使用数据的核密度估计值代替了箱形图,并可选择叠加数据点本身.小提琴图是箱形图的升级加强版,对数据分布有更丰富的理解,同时不必 ...

  7. Python 绘制高斯曲面图

    今天来简单介绍一个如何用python绘制高斯分布三维分布的曲面图. 我们知道高斯分布的二维表达式为: Gaussian=exp⁡−(x2+y2)w02.Gaussian =\exp{\frac{-(x ...

  8. MATLAB绘制三维曲面图和等高线 绘图(2)

    绘制三维曲面图步骤: 1): 对数据进行处理,得到三维曲面上的点坐标组 方法有: 1.将自变量离散, x=xmin:dx:xmax y=ymin:dy:ymax 2.利用meshgrid 指令 生成 ...

  9. Matlab之绘制三维曲面图

    最近在学matlab三维绘图,总结了自己学的一些点,就当是记笔记啦! 情况一: z和x,y有关系,z=f(x,y) 1.surf方法 基本语法 surf(X,Y,Z)         这里的Z可以用X ...

最新文章

  1. 公安部全面查找改革开放以来失踪被拐儿童 失踪被拐儿童父母和疑似被拐人员快去采集DNA
  2. opencv画框返回坐标 python_python opencv鼠标事件实现画框圈定目标获取坐标信息
  3. 【Python】机器学习绘图神器Matplotlib首秀!
  4. 你应该知道的一些事情——CSS权重
  5. 熊猫烧香病毒背后的***社会
  6. python写的系统常用命令(二)
  7. 模型参考自适应控制器(MRAC)系列: 2.提升瞬态性能
  8. 前往庄园失败 当前服务器不稳定,摩尔庄园手游登录不了是怎么回事 摩尔庄园手游登录失败怎么办...
  9. C语言读取文件所有内容
  10. 甘肃自考计算机技术,甘肃自考计算机与网络技术基础课程考试说明
  11. 关于Oracle统计中关于操作系统的统计说明,oracle10个/11g的新特点 自动工作量资料档案库(AWR) 文平...
  12. 全球排名前500的网站都是做什么的
  13. google浏览器打开不久自动退出
  14. ConvE:Convolutional 2D Knowledge Graph Embeddings
  15. Scratch快速入门(一)
  16. 1024是什么节日 (中国程序员节)
  17. 加拿大PCI GXL地理成像加速器-地理国情大显身手
  18. android使用wifi连接android手机
  19. 【调剂】东北石油大学计算机科学与技术专业接收调剂
  20. 在Windows服务器上搭建Nuget私人服务器(超~详细)

热门文章

  1. 【干货】关于软解(ffmpeg)和硬解(MediaCodec、MediaPlayer)以及底层(OpenMax)的那点事
  2. 江哥带你玩转C语言 | 14 - 结构体-枚举-共用体
  3. 物理机如何迁移到云服务器?
  4. Android 对接快递鸟接口
  5. Redis数据库目录
  6. 超码、候选码、主码、主属性、非主属性
  7. 服务器和交换机物理连接_交换机及聚合配置(教学篇)
  8. 功能安全function safety 和SOTIF区别
  9. 啃完阿里这份高并发编程核心笔记,反手涨了5K
  10. Java泛型真的是鸡肋吗?