1500字范文,内容丰富有趣,写作好帮手!
1500字范文 > MATLAB图形绘制--等高线图

MATLAB图形绘制--等高线图

时间:2022-12-04 12:35:48

相关推荐

MATLAB图形绘制--等高线图

等高线图

假如我们要绘制某个函数:

x的取值范围在-5到5之间,y的取值范围在-3到3之间,增量为0.1:

>> [x,y] = meshgrid(-5:0.1:5,-3:0.1:3);

其中meshgrid命令是用来产生网格的

我们也可以先指定增量,然后调用meshgrid命令来生成网格,例如:

>> x = [-5:0.1:5];>> y = [-3:0.1:3];>> [X,Y] = meshgrid(x,y);

只不过我们把小写的x,y当成了中间变量,最后的值是X,Y

假如我们绘制的函数是:

那么我们输入以下命令:

>> z = X.^2 + Y.^2;

现在我们调用contour命令:

>> contour(X,Y,z)

产生的图像:

我们还可以为这个图像添加更多的内容:

标签等高线之间的宽度线宽线型线的颜色需不需填充

以上属性的修改可以使用set命令修改

需要注意的是,我们返回当前图像的属性时,因为是二维的网格,所以就有两个参数,我们可以用矩阵的形式表示:

>> [C,h] = contour(X,Y,z)

其中共有两个参数:

C

其中第一个参数表示x,y坐标的矩阵,是一个二维数组

h

h表示一些属性:

当然,这两个参数的名字我们也可用其它字母替代,只要放在一个数组里面就行。

我们调用set命令:

>> set(h,'showtext','on','textstep',get(h,'levelstep')*2)

这一次,我们为等高线图添加了标签:

让我们绘制另一个函数:

>> [x,y] = meshgrid(-5:0.1:5,-3:0.1:3);>> 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)

这一次我们绘制另一个函数,xy的取值范围相同:

>> [x,y] = meshgrid(-2:0.1:2)>> z = y.*exp(-x.^2-y.^2);>> contour(x,y,z),xlabel('x'),ylabel('y')

当两个独立变量在同一范围的时候,可以把:

[x,y] = meshgrid(x)

下面我们绘制三维:

仅仅输入:

>> contour3(x,y,z)

便得到:

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。