2016-12-26 51 views
2

我已經生成了一個類似於高斯分佈的3D圖,其具有隨機變量Y,X1和X2(1000x1)矢量。 Y在垂直軸上,X1和X2是水平的。3個變量的高斯輪廓圖-MATLAB

具體來說,這是我用過的情節代碼:

plot3(x(:,1),x(:,2),y,'.') 

已創建的圖有以下形式:

3D - Gaussian

我也想生產的東西像這樣:

Contour - Gaussian

但是,當我使用此代碼:

contour(x(:,1),x(:,2),y); 

我收到消息:

使用輪廓誤差(線48) Z應該在至少一個2×2矩陣。

我真的沒有得到如何解決這個問題,我假設Z是Y,但我不明白爲什麼它至少要2x2。總之,任何幫助將不勝感激。

回答

0

您不能在分散的數據上創建輪廓,您需要一個網格。是可能的內插對NxN樣品中的XY域中的網格中的數據,使用griddata(這裏所訪問[-2,2]x[-2,2]爲例):上如何進行內插散射數據here

N = 200; 
xi = linspace(-2, 2, N); 
yi = linspace(-2, 2, N); 
[XI, YI] = meshgrid(xi, yi); 
ZI = griddata(x(:,1), x(:,2), y, XI, YI, 'v4'); 
contour(XI,YI,ZI); 

更多信息。