matlab畫等高線圖( z = f(x,y) )


步驟:

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)

最終可產生如下圖像:

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM