matlab画等高线图( z = f(x,y) )
2019-03-29 10:07 不做程序猿 阅读(5529) 评论(0) 编辑 收藏 举报步骤:
1、产生独立变量,为带有两个变量 x 和 y 的集合,meshgrid是一个可以建立独立变量的函数,产生矩阵元素,元素x和y按照指定的范围和增量来产生。
2、输入要使用的函数;
3、调用contour(x,y,z)命令。
例如为z = x2+y2作等高线图:
[x,y] = meshgrid(-5:0.1:5, -3:0.1:3);
z = x.^2 + y.^2;
contour(x,y,z);
但应该为其添加更多引用标签信息,可以使用set命令来实现:
[C,h] = contour(x,y,z);
set(h, \'ShowText\', \'on\', \'TextStep\', get(h,\'LevelStep\')*2);
例如为z = cos(x)*sin(y)作等高线图:
z = cos(x).*sin(y);
[C,h] = contour(x,y,z);
set(h, \'ShowText\',\'on\',\'TextStep\',get(h,\'LevelStep\')*2);
我们还可以调用contour3命令把等高线画成三维的,如果调用contour3(z,n),那么将产生有n个级别的等高线,
例如接着上面的函数继续调用 contour3(z,10); 可产生更复杂的三维图像。
例如为z = ye-(x2+y2)作等高线图,-2≤x,y≤2:
[x,y] = meshgrid(-2:0.1:2);
z = y.*exp(-x.^2-y.^2);
contour(x,y,z),xlabel(\'x\'),ylabel(\'y\');
下面要产生三维等高线图,可输入contour3(x,y,z,30);
也可以添加surface命令,将图像装饰漂亮点:
surface(x,y,z,\'EdgeColor\',[.8,.8,.8],\'FaceColor\',\'none\'), grid off, view(-15,20)
最终可产生如下图像: