Matlab等高线绘图攻略

2025-10-07 10:09:18

1、contour函数:二维等高线绘图

等高线图显示矩阵Z的等值线。

例如:绘制函数Z = X.*exp(-X.^2-Y.^2);的等高线图

1. 首先评估函数以创建矩阵Z.使用meshgrid函数生成用于评估指定范围内函数的值:

[X,Y] = meshgrid(-2:.2:2,-2:.2:3);

Z = X.*exp(-X.^2-Y.^2);

2. 生成Z的等高线图:

通过将ShowText属性设置为打开来显示轮廓标签。通过将TextStep属性设置为轮廓间隔的两倍(即LevelStep属性的两倍)来标记每个其他轮廓线。使用平滑变化的色彩地图。

[C,h] = contour(X,Y,Z);

set(h,'ShowText','on','TextStep',get(h,'LevelStep')*2)

colormap cool

完整程序如下:

[X,Y] = meshgrid(-2:.2:2,-2:.2:3);

Z = X.*exp(-X.^2-Y.^2);

[C,h] = contour(X,Y,Z);

set(h,'ShowText','on','TextStep',get(h,'LevelStep')*2)

colormap cool

程序编译结果如右图所示

Matlab等高线绘图攻略

1、contour3函数:三维等高线绘图

创建一个在矩形网格上定义的曲面的三维轮廓图。

例子

绘制函数的三维轮廓并叠加曲面图以增强函数的可视化。

[X,Y] = meshgrid([-2:.25:2]);

Z = X.*exp(-X.^2-Y.^2);

contour3(X,Y,Z,30)

surface(X,Y,Z,'EdgeColor',[.8 .8 .8],'FaceColor','none')

grid off

view(-15,25)

colormap cool

程序编译结果如右图所示

Matlab等高线绘图攻略

1、ezcontour(fun)

使用轮廓函数 contour绘制fun(x,y)的轮廓线。 

函数被绘制在默认域上:-2π<x <2π,-2π<y <2π。

例如:

ezcontour('sqrt(x^2 + y^2)')

或者

fh = @(x,y) sqrt(x.^2 + y.^2);

ezcontour(fh)

程序编译结果如右图所示

Matlab等高线绘图攻略

1、ezcontourf(fun)

使用 轮廓函数 contourf绘制fun(x,y)的轮廓线。 

函数被绘制在默认域上:-2π<x <2π,-2π<y <2π。

例如:

ezcontourf('sqrt(x^2 + y^2)')

或者

fh = @(x,y) sqrt(x.^2 + y.^2);

ezcontourf(fh)

程序编译结果如右图所示

Matlab等高线绘图攻略

2、例2:绘制函数的等高线图

 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);

ezcontourf(f,[-3,3],49)

程序编译结果如右图所示

Matlab等高线绘图攻略

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢