2013-10-19 66 views
1

我有一個函數z = F(X,Y),並想用八度它來繪製,但不希望的情節是在3D,在如何在二維中以八度顏色繪製三維圖形?

octave:1> x=(1:300); 
octave:2> y=(1:300); 
octave:3> [xx,yy]=meshgrid(x,y); 
octave:4> A=sin(xx/100).*yy; 
octave:5> mesh(x,y,A) 

而是在2D使用顏色z的值,就像你使用gnuplot指令得到的一樣

gnuplot> plot 'a.txt' matrix w image 

如果我將矩陣A保存在文件a.txt中。最近我發現是命令contourf,但你可以看到,如果你試試吧,

octave:7> contourf(xx,yy,A) 

結果遠遠沒有達到最佳...任何建議?

感謝

+0

如果對輪廓很滿意,或者可能是imshow(A),然後再亂用colormap,那麼輪廓(xx,yy,A)有什麼問題? – Dan

回答

1

imagesc將使用的顏色繪製你的 「Z」 值的矩陣:

> imagesc(x, y, A) 

這將上下翻轉相比contourf,但是這很容易固定:

> imagesc(x, flipud(y), flipud(A)) 

而在你的例子中,你甚至不需要提供變量x和y:

> imagesc(A) 
> imagesc(flipud(A))