aixuexihs

matlab画等高线图( z = f(x,y) )

2019-03-29 10:07  不做程序猿  阅读(5684)  评论(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)

最终可产生如下图像:

 

分类:

技术点:

相关文章:

  • 2021-11-30
  • 2022-01-11
  • 2021-09-13
  • 2021-09-24
  • 2021-07-13
猜你喜欢
  • 2021-12-13
  • 2021-10-11
  • 2021-11-16
  • 2021-12-12
  • 2019-01-07
  • 2022-01-13
相关资源
相似解决方案