在军事、地理等学科中,经常会到等值线。在MATLAB中有许多绘制等值线的命令。

1.contour3命令

contour3是三维绘图中最常用的绘制等值线的命令,利用该命令可生成一个定义在矩形格栅上曲面的三维等值线图,它的使用格式如下:

调用格式                                         说明

contour3(Z)                           画出三维空间角度观看矩阵Z的等值线图,其中Z的元素被认为是距离x-y平面的高度,矩阵Z至少为2*2阶。自动选择等值线的条数与取值。

若[m,n] = size(Z),则x轴的范围为[1,n],y轴的范围为[1,m]

contour3(Z,n)                        画出由矩阵Z确定的n条等值线的三维图

contour3(Z,v)                        在参量v指定的高度上画出三维等高线,当然等值线条数与向量v的维数相同;若想只画一条高度为h的等值线,则输入:contour3(Z,[h,h])

contour3(X,Y,Z)                    用X与Y定义x轴与y轴的范围。若X为矩阵,则X(1,:)定义x轴的范围;若Y为矩阵,则Y(:,1)定义y轴的范围;若X与Y同时为谈不来,则它们必须

contour3(X,Y,Z,n)                 同型;若X或Y有不规则的间距,contour3还是使用规则的间隔计算等值线,然后将数据转变给X或Y

contour3(X,Y,Z,v)

contour3(...,s)                       用参量s指定的线型与颜色画等值线

[C,h] = contour3(...)              画出图形,同时返回与命令contourc中相同的等值线矩阵C,包含所有图形对象的句柄向量h

例:绘制山峰函数peaks的等值线图。

>> close all
>> [x,y,z] = peaks(30);
>> contour3(x,y,z)
>> title('山峰函数等值线图')
>> xlabel('x-axis'),ylabel('y-axis'),zlabel('z-axis')>> 

2.contour命令

contour3的二维图就等价于contour,后者用来绘制二维等值线,可以看作是一个三维曲面向xoy平面的投影,它的使用格式

调用格式                                                                    说明

contour(Z)                                                         把矩阵Z中的值作为一个二维函数的值,等值线是一个平面的曲线,平面的高度v是MATLAB自动取的

contour(X,Y,Z)                                                   (x,y)是平面Z = 0上点的坐标矩阵,Z为相应点的高度值矩阵

contour(Z,n)                                                      画出n条等值线

contour(X,Y,Z,n)                                               画出n条等值线

contour(Z,v)                                                       在指定的高度v上画出等值线

contour(X,Y,Z,v)                                                 等价于contour(Z,v)命令

[C,h] = contour(...)                                             返回等值线矩阵C和线句柄或块句柄列向量h,每条线对应一个句柄,句柄中的userdata属性包含每条等值线的高度值

contour(...,'linespec')                                        用指定的颜色或者线型画等值线

例:画出曲面在[-2π,2π]*[-2π,2π]的图像及其在xoy面的等值线图。

>> close all
>> x = linspace(-2*pi, 2*pi, 100);
>> y = x;
>> [X,Y] = meshgrid(x,y);
>> Z = X.*exp(-cos(X)-sin(Y));
>> subplot(1,2,1)
>> surf(X,Y,Z)
>> title('曲面图像')
>> subplot(1,2,2)
>> contour(X,Y,Z)
>> title('二维等值线图')
>> 

3.contourf命令

此命令用来填充二维等值线图,即先画出不同等值线,然后将相邻的等值线之间用同一颜色进行填充,填充用的颜色决定于当前的色图颜色。

contourf的使用格式如下:

调用格式                                                            说明

contourf(Z)                                                    矩阵Z的等值线图,其中Z理解成为距平面的高度。Z至少为2*2阶的,等值线的条数与取值是自动选择的

contourf(Z,n)                                                 画出矩阵Z的n条高度不同的等值线

contourf(Z,v)                                                 画出矩阵Z的由v指定的高度的等值线图

contourf(X,Y,Z)                                             画出矩阵Z的等值线图,其中X与Y用于指定x轴与y轴的范围,若X与Y为矩阵,则必须与Z同型;若X或Y有不规则的间距,contour3

还是使用规则的间距计算等高线,然后将数据转变给X或Y

contourf(X,Y,Z,n)                                         画出矩阵Z的n条高度不同的等值线,其中X、Y参数同上

contourf(X,Y,Z,v)                                         画出矩阵Z的由v指定的高度的等值线图,其中X、Y参数同上

[C,h,CF] = contour(...)                                画出图形,同时返回与命令contourc中相同的等高线矩阵C,C也可被命令clabel使用;返回包含patch图形对象的句柄向量h;返回一用                                                                           于填充用的矩阵CF

例:画出山峰函数peaks的二维等值线图。

>> close all
>> Z = peaks;
>> [C,h] = contourf(Z,10);
>> 

加一句灰度图后

>> colormap gray

4.contourc命令

该命令计算等值线矩阵C,该矩阵可用于命令contour、contour3和contourf等。矩阵Z中的数值用于确定平面上的等值线高度值,等值线的计算结果为由矩阵Z维数决定的间隔的宽度。

contourc命令的使用格式如下:

调用格式                                                           说明

C = contourc(Z)                                       从矩阵Z中计算等值矩阵,其中Z的维数至少为2*2阶,等值线为矩阵Z中数值相等的单元,等值线的数目和相应的高度值是自动选择的

C = contourc(Z,n)                                   在矩阵Z中计算出n个高度的等值线

C = contourc(Z,v)                                    在矩阵Z中计算出给定高度向量v上的等值线,而向量v的维数决定了等值线的数目,若只要计算一条高度为a的等值线,输入:

contourc(Z,[a,a])

C = contourc(X,Y,Z)                                在矩阵Z中参量X、Y确定的坐标轴范围内计算等值线

C = contour(X,Y,Z,n)                               从矩阵Z中参量X、Y确定的坐标范围内画出n条等值线

C = contour(X,Y,Z,v)                                从矩阵Z中参量X、Y确定的坐标范围内,画在v指定的高度上指定的等值线

5.clabel命令

clabel命令用来在二维等值线图中添加高度标签,它的使用格式如下:

调用格式                                                            说明

clabel(C,h)                                                  把标签旋转到恰当的角度,再插入到等值线中。只有等值线之间有足够的空间时才加入,这决定于等值线的尺度。其中C为高度矩阵

clabel(C,h,v)                                               在指定的高度v上显示标签

clabel(C,h,'manual')                                  手动设置标签。用户用鼠标左键或空格键在最接近指定的位置上放置标签,用键盘上的Enter键结束该操作

clabel(C)                                                      在从命令contour生成的等高矩阵C的位置上添加标签。此时标签的放置位置是随机的

clabel(C,v)                                                   在给定的位置v上显示标签

clabel(C,'manual')                                      允许用户通过鼠标来给等高线贴标签

对上面的使用格式,需要说明的一点是,若命令中有h,则会标签进行恰当的旋转;否则标签会竖直放置,且在恰当的位置显示一个“+”

例:绘制具有5个等值线的山峰函数peaks,然后对各个等值线进行标注,并给所画的图加上标题。

>> close all
>> Z = peaks;
>> [C,h] = contour(Z,5);
>> clabel(C,h)
>> title('等值线的标注')
>> 

6.ezcontour命令

该命令专门用来绘制符号函数f(x,y)的等值线图,它的使用格式如下:

调用格式                                                说明

ezcontour(f)                                   绘制f在系统默认的区域(-2π,2π)*(-2π,2π)上的等值线图

ezcontour(f,[a,b])                          绘制f在区域(a,b)*(a,b)上的等值线图

ezcontour(f,[a,b,c,d])                   绘制f在区域(a,b)*(c,d)上的等值线图

ezcontour(...,n)                              绘制f在系统默认的区域(-2π,2π)*(-2π,2π)上的等值线图,其中网格数为n*n,n的默认值为60

例:画出下面函数的等值线图。

>> close all
>> syms x y
>> f = sin(x^2 + y^2)/(x^2 + y^2);
>> ezcontour(f,[-pi,pi],30)
>> title('符号函数等值线图')
>> 

7.ezsurfc命令

该命令用来绘制函数f(x,y)的带等值线的三维表面图,其中函数f是一个以字符串形式给出的二元函数.

ezsurf命令的使用格式如下:

调用格式                                                                           说明

ezsurfc(f)                                                                   绘制f在系统默认的范围(-2π,2π)*(-2π,2π)上带等值线的三维表面图

ezsurfc(f,[a,b])                                                          绘制f在区域(a,b)*(a,b)上带等值线的三维表面图

ezsurfc(f,[a,b,c,d])                                                    绘制在区域(a,b)*(c,d)上带等值线的三维表面图

ezsurfc(X,Y,Z)                                                           绘制参数曲面x = x(s,t), y = y(s,t), z = z(s,t)在系数默认的区域(-2π,2π)*(-2π,2π)上带等值线的三维表面图

ezsurfc(X,Y,Z,[a,b])                                                   绘制上述参数曲面在(a,b)*(a,b)上的带等值线的三维表面图

ezsurfc(X,Y,Z,[a,b,c,d])                                            绘制上述参数曲面在(a,b)*(c,d)上的带等值线的三维表面图

ezsurfc(...,n)                                                              绘制f在系统默认的区域(-2π,2π)*(-2π,2π)上带等值线的三维表面图,其中网格数为n*n,n的默认值为60

ezsurfc(...,'circ')                                                         在区域的中心圆盘上绘制f的带等值线的三维表面图

例:在区域[-π,π]*[-π,π]上绘制下面函数的带等值线的三维表面图。

>> close all
>> syms x y
>> f = exp(sin(x+y))/(x^2+y^2);
>> subplot(1,2,1)
>> ezsurfc(f,[-pi,pi])
>> title('网格数为60*60的表面图')
>> subplot(1,2,2)
>> ezsurfc(f,[-pi,pi],20)
>> title('网格数为20*20的表面图')
>> 

MATLAB中的三维图形等值线相关推荐

  1. matlab没有找到图形用户界面,MATLAB中不能设计图形用户界面。

    MATLAB中不能设计图形用户界面. 答:错 阿维森纳.阿威罗伊是古希腊哲学家,其作品由阿拉伯人抄录得以传承.( ) 答:错 北京儿童文学刊物有( ? ).( ? )和( ? ). 答:<儿童文 ...

  2. 怎么把matlab中的图导出,matlab的数据能保存到excel表格-如何将matlab 中输出的图形保存到Excel中去,详细点...

    怎样将MATLAB中的数据输出到excel中 数据保存到excel文件 xlswrite(xlsfile, data, sheet, range); % sheet 和 range可以不指定 如: x ...

  3. html绘制三维,在HTML + JS画布中绘制三维图形

    是否有任何框架/引擎能够在Canvas上绘制三维图像?在HTML + JS画布中绘制三维图形 我打算画位于一个平面一些基元(不同形状的): var dist = 2; var hexHalfW = 3 ...

  4. matlab三维 旋转矩阵,matlab中的三维坐标系与旋转

    1. matlab中的三维坐标系 matlab中的三维坐标系是使用的右手坐标系: 输入以下代码: >> plot3(0,0,0) >> xlabel('axis X') > ...

  5. matlab 三维 作图 坐标轴_MATLAB学习——MATLAB中的三维绘图指令

    2 基本XYZ立体绘图命令 mesh和plot是三度空间立体绘图的基本命令,mesh可画出立体网状图,plot则可画出立体曲面图,两者产生的图形都会依高度而有不同颜色.下列命令可画出由函数 形成的立体 ...

  6. matlab二维三维图形绘制和坐标轴范围设置

    matlab二维绘图 一. 二维图形(Two dimensional plotting) 1. 基本绘图函数(Basic plotting function):Plot, semilogx,   se ...

  7. MATLAB 之 绘制三维图形的基本函数、三维曲面和其他三维图形

    文章目录 一.绘制三维曲线的基本函数 二.三维曲面 1. 平面网格坐标矩阵的生成 2. 绘制三维曲面的函数 3. 标准三维曲面 三.其他三维图形 1. 三维条形图 2. 三维饼图 3. 三维实心图 4 ...

  8. matlab画一个三维图形投影的函数的图

    在 MATLAB 中,可以使用 surf 函数画出三维图形的投影图.首先,需要确定图形的 X.Y 和 Z 坐标数据.然后,可以在命令窗口中输入 surf(X,Y,Z) 来绘制图形. 例如: [X,Y] ...

  9. matlab中的三维可视化实现

    图形三维立体可视化在Matlab中的实现和处理 三维图形的绘制除了常用的网格图.表面图和等高线等方法外,Matlab还提供了一些立体可视化函数用于绘制更为复杂的立体和向量对象. 这些函数通常在三维空间 ...

最新文章

  1. python:关于py文件之间相互import的问题
  2. 第三章 正态性检验、自相关检验与异方差性检验
  3. Spark的存储管理
  4. [转]Vs解决方案的目录结构设置和管理
  5. Timus 1005. Stone pile
  6. ubuntu18.04 卸载Anaconda3
  7. 轴承后缀ce和ca_轴承cc和ca与cde4有什么区别
  8. 如何显示 word 左侧目录大纲
  9. 学习c语言,踏上新征程
  10. kubernetes 系列之 - 暴露运行的服务端口
  11. 黑科技手机计算机,轻量又好用的黑科技APP,绝对能让你的手机能量满满!
  12. Google 天气预报 API
  13. unity 获取选中的目录_Unity的目录管理
  14. return false和 return true 的作用是什么
  15. 旅游管理系统的出现,让一切旅行社管理问题变得简单
  16. 武林外传108句经典台词
  17. 传奇GEE/GOM引擎的传奇假人系统如何登陆假人
  18. 数据库缓存一致性问题
  19. 怎么将短视频合并成一个视频的方法
  20. 推荐4款能够极大地你改善工作体验的PC软件

热门文章

  1. 机器视觉光源学习总结——开孔背光源
  2. 5件你可能不知道可以使用 CSS-in-JS 来做的事情
  3. Java中构造方法的执行顺序
  4. 玩转VIM编辑器-自动补全
  5. 华为机试HJ17:坐标移动
  6. 计算机组成大学考试,计算机组成原理本科期末试题4套含答案(大学期末复习资料)(21页)-原创力文档...
  7. linux中python编译器的配置_PyCharm配置虚拟编译环境(windows/linux通用版)
  8. 二叉搜索树的后序遍历
  9. java完成一个学生信息调查程序_利用Java设计一个简单的学生信息管理程序
  10. ps分辨率像素英寸和厘米的区别_PS萌新必知的专业术语