2009-11-14 88 views
1

給定3向量對,X,YZ,如何生成輪廓?我知道我們需要利用contour圖。但問題是我們需要爲這個參數傳遞一個2x2矩陣,這大概是一個Z對應於每個X,Y對的矩陣。但是這意味着在談論輪廓生成之前,我必須首先使用griddata插值來進行額外的英里創建這樣的矩陣。給定輪廓給定X,Y和Z向量

還有其他更簡潔的方法嗎?

回答

4

是的。使用Tricontour工具。它可以在文件交換中找到(在Matlab Central上)。這可以根據您的需要直接繪製輪廓,而不會強制您使用meshgrid和griddata。

+0

你知道如何使用三元組X,Y,Z的三元組嗎? – adrianp 2012-03-31 14:55:26

+0

@adrianp:我弄明白了嗎?它使用相當東方,甚至微不足道。閱讀幫助。你的問題是什麼? – 2012-03-31 16:33:33

-1

MATLAB相當簡潔地滿足了你的這個需求。

您需要做的是使用meshgrid來對您的XY向量進行二維化。下面是一個簡單的例子來說明如何產生的z = sin (x^2 + x*y^2)等高線圖:

x = -10:0.1:10; 
y = -10:0.1:10; 
[x,y] = meshgrid(x,y); 
z = sin(x.^2+x.*y.^2); 
contour(x,y,z) 

注意使用.^.*符號的,這迫使MATLAB來進行z矩陣的元素乘元素的評價,在過程中使其成爲2D。

+1

不幸的是,如果您有數據,如: x1,y1,z1; x2,y2,z2; x3,y3,z3; ... 並且您不知道z的功能。即幾乎所有的真實數據。這沒有幫助。 – Trojanian 2015-03-06 17:18:13

相關問題