Matlab等高线绘图攻略
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
程序编译结果如右图所示

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
程序编译结果如右图所示

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)
程序编译结果如右图所示

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)
程序编译结果如右图所示

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)
程序编译结果如右图所示
