2012-10-10 70 views
2

我有一個矩陣Z,我想使用surf命令進行繪圖。我可以使用surf命令將其繪製得很好,但我希望Z的一部分不會出現在劇情中。我假設我需要做的是使用符號如何繪製使用surf()命令的非矩形域的矩陣

surf(X,Y,Z) 

其中X和Y是定義(X,Y)的矩陣對應的Z值的座標。我想知道的是,我將Z作爲(x,y)座標放置在不應繪製的點上,即x和y應該是無關緊要的。

例如:

Z = 1 5 7 
    2 6 0 
    3 0 0 
    4 0 0 

X = 1 1 1 
    2 2 _ 
    3 _ _ 
    4 _ _ 

Y = 1 2 3 
    1 2 _ 
    1 _ _ 
    1 _ _ 

會去什麼的空間?我不能把一個數字設爲0,因爲所有的值都會轉到原點。如果有更好的方法可以使用,我不必使用surf()。

+0

如果在Z N/A中生成這些零,會發生什麼? –

+0

N/A是什麼意思?我試着把它分配給N/A,而Matlab說變量N不能被找到。 'N/A'也不起作用。 – user972276

+0

啊對不起,意思是NaN,不記得確切的標記是什麼:( –

回答

6

將您不想繪製的所有Z值設置爲NaN。例如,如果你不想繪製Z的零點然後

Z(Z==0)=NaN;

會做的伎倆。你不需要用X和Y來做這件事。如果你不想繪製的Z組更復雜,你應該以某種方式獲得Z(i,j)並將它們設置爲NaN。

+0

謝謝!我一直試圖將null和nill以及我能想到的所有東西都考慮在內。沒有想到NaN。 – user972276