第三篇--MATLAB图形可视化(二)

3.等高线图形绘制

3.1 contour命令

  • 曲面的等高线图
  • 命令格式:
  • 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) 同上;
  • [c,h] = contour(…) 返回如同contourc命令描述的等高矩阵c和线句柄或块句柄列向量h,这些可作为clabel命令的输入参量,每条线对应一个句柄,句柄中的userdata属性包含每条等高线的高度值;
  • contour(…,’linespec’) 因为等高线是以当前的色图中的颜色画的,且是作为块对象处理的,即等高线是一般的线条,我们可象画普通线条一样,可以指定等高线的颜色或者线形。
contour(peaks(40))

补:matlab 中的 peaks 函数是一个典型的多元函数。它本质上是一个二元高斯分布的概率密度函数,函数表达式为:

f ( x , y ) f(x,y) f(x,y)=3(1−x)2e−x2−(y+1)2−10(1/5x−x3−y5)e−x2−y2−1/3e−(x+1)2−y2
三维图像:

f=@(x,y)3*(1-x).^2.*exp(-(x.^2) - (y+1).^2)- 10*(x/5 - x.^3 - y.^5).*exp(-x.^2-y.^2)- 1/3*exp(-(x+1).^2 - y.^2);
 ezmesh(f);

在这里插入图片描述
图像恰好有3个极小点,3个极大点。

3.2 clabel命令

  • 在二维等高线图中添加高度标签。在下列形式中,若有h出现,则会对标签进行恰当的旋转,否则标签会竖直放置,且在恰当的位置显示个一个“+”号。
  • 命令格式:
  • clabel(C,h) 把标签旋转到恰当的角度,再插入到等高线中。只有等高线之间有足够的空间时才加入,当然这决定于等高线的尺度。
  • clabel(C,h,v) 在指定的高度v上显示标签h,当然要对标签做恰当的处理。
  • clabel(C,h,‘manual’) 手动设置标签。用户用鼠标左键或空格键在最接近指定的位置上放置标签,用键盘上的回车键结束该操作。当然会对标签做恰当的处理。
  • clabel© 在从命令contour生成的等高线结构c的位置上添加标签。此时标签的放置的位置是随机的。
  • clabel(C,v) 在给定的位置v上显示标签
  • clabel(C,‘manual’) 允许用户通过鼠标来给等高线贴标签
  • 示例:
[x,y] = meshgrid(-2:.2:2); %生成网格点矩阵
z = x.*y.*exp(-x.^2-y.^2);
[C,h] = contour(x,y,z);%生成曲面的等高线图
clabel(C,h);%添加标签

在这里插入图片描述

3.3 contourc命令

  • 低级等高线图形计算命令。该命令计算等高线矩阵c,该矩阵可用于命令contour,contour3和contourf等。矩阵z中的数值确定平面上的等高线高度值,等高线的计算结果用由矩阵z维数决定的间隔的宽度。
  • 命令格式:
  • 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 = contourc(x,y,Z,n) 从矩阵Z中,参量x与y确定的坐标范围内画出n条等高线;
  • C = contourc(x,y,Z,v) 从矩阵Z中,参量x与y确定的坐标范围内,画在v指定的高度上指定的等高线。

3.4 countour3命令

  • 三维空间等高线图。该命令生成一个定义在矩形格栅上曲面的三维等高线图。
  • 命令格式:
  • contour3(Z) 画出三维空间角度观看矩阵z的等高线图,其中z的元素被认为是距离xy平面的高度,矩阵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)、contour3(X,Y,Z,n)、contour3(X,Y,Z,v) 用X与Y定义x-轴与y-轴的范围。若X为矩阵,则X(1,:)定义x-轴的范围;若Y为矩阵,则Y(:,1)定义y-轴的范围;若X与Y同时为矩阵,则它们必须同型。不论为哪种使用形式,所起的作用与命令surf相同。若X或Y有不规则的间距,contour3还是使用规则的间距计算等高线,然后将数据转变给X或Y。
  • contour3(…,LineSpec) 用参量LineSpec指定的线型与颜色画等高线。
  • [C,h] = contour3(…) 画出图形,同时返回与命令contourc中相同的等高线矩阵C,包含所有图形对象的句柄向量h;除非没有指定LineSpec参数,contour3将生成patch图形对象,且当前的colormap属性与caxis属性将控制颜色的显示。不论使用何种形式,该命令都生成line图形对象。
  • 示例:
[X,Y] = meshgrid([-2:25:2]);
Z = X.*exp(-X.^2-Y.^2);
contour3(X,Y,Z,30)%绘制30条等高线

在这里插入图片描述

3.5 contourf命令

  • 填充二维等高线图。即先画出不同等高线,然后相邻的等高线之间用同一颜色进行填充。填充用的颜色决定于当前的色图颜色。
  • 命令格式:
  • contourf(Z) 矩阵z的等高线图,其中z理解成距平面的高度。Z至少为2*2阶的。等高线的条数与高度是自动选择的。
  • contourf(Z,n) 画出矩阵z的n条高度不同的等高线。
  • contourf(Z,v) 画出矩阵z的、由v指定的高度的等高线图。
  • contourf(X,Y,Z)、contourf(X,Y,Z,n)、contourf(X,Y,Z,v) 画出矩阵z的等高线图,其中X与Y用于指定x-轴与y-轴的范围。若X与Y为矩阵,则必须与Z同型。若X或Y有不规则的间距,contour3还是使用规则的间距计算等高线,然后将数据转变给X或Y。
  • [C,h,CF] = contourf(…)画出图形,同时返回与命令contourc中相同的等高线矩阵C,C也可被命令clabel使用;返回包含patch图形对象的句柄向量h;返回一用于填充用的矩阵CF。
  • 示例:
contourf(peaks(30),20);%画出矩阵的20条高度不同的等高线
colormap gray

在这里插入图片描述

4.柱面和球面的三维表达

4.1 柱面表达cylinder

  • 柱面的轴线定义为 z 轴,只要给出母线的描述就可完 成一个柱面。
  • 命令格式:
  • [X,Y,Z] = cylinder(R,N);
  • [X,Y,Z] = cylinder®:缺省值 N=20;
  • [X,Y,Z] = cylinder:缺省值 N=20,R=[1,1]。
  • R:是一描述柱面母线的向量;
  • N:是旋转柱面上的分割线条数;
  • [X,Y,Z] :是返回的x,y,z坐标向量。
  • 示例:
  t=pi:0.01:3*pi;     
  r=sin(t)+t;     
  cylinder(r,30)     
  shading interp %函数 shading 改变着色方式 

在这里插入图片描述

4.2 球面表达sphere

  • 命令格式:
  • [X,Y,Z]=sphere(N):产生一个( N+1)×( N+1)的矩阵, 然后用函数 surf 命令绘制一个单位的球面,N 为设置分割线 的条数;
  • [X,Y,Z] = sphere:缺省 值 N = 20。
  • 示例:
 [X,Y,Z]=sphere(40;   
 surf(X,Y,Z) 

在这里插入图片描述

4.3 其他图形绘制

                                              特殊绘图指令
函数名称功能函数名称功能
area面积图compass指针图
bar竖直直方图hist向量统计直方图
barh水平直方图pareto带有标准的直方图
bar3三维竖直直方图pie二维饼图
bar3h三维水平直方图pie3三维饼图
gplot拓扑图plotmatrix矩阵折线图
comet彗星图ribbon带状图
errorbar误差棒图scatter散点图
ezplot符号函数曲线图stem火柴杆图
polar极坐标曲线图stem3三维火柴杆图
feather羽毛图stairs阶梯图
  • 1
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Siri_only

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值