2017-05-30 40 views
0

假設C是一個矩陣,我需要繪製兩個參數參數1和參數2.C是參數1和參數2的函數,所以我運行以下循環並將C的值作爲兩個參數的函數存儲在矩陣C中爲什麼我需要轉置以正確繪製曲面?

i_1=0; 
for parameter1=1:9 
i_1=i_1+1; j_1=0; 
for parameter2=2:6 
j_1=j_1+1; 
C(j_1,i_1)=f(parameter1, parameter2); 
end 
end 
i=1:9; 
j=2:6; 
[X,Y] = meshgrid(i,j); 
c=surf(X,Y,C.'); 

我的問題是,爲什麼我需要在這裏轉C來到達正確的繪圖?因爲當我沒有得到相反的結果。是因爲行被視爲Y軸而列被視爲X軸?

如何將scatter3作爲一個函數的三個變量,我應該如何繼續,因爲現在C不能轉置?

+0

要使用衝浪X,Y,C應具有相同的尺寸...... –

+0

但是我想知道這是否是循環,哪個軸將是x,哪些軸將是x,尤其是當所有尺寸相同時,或者當兩個以上的軸都存在時。 – Ankit

回答

0

Okay..if你的困惑......是否要調換或不....你把一個if條件,並繼續前進,衝浪

i=1:9; 
j=2:6; 
[X,Y] = meshgrid(i,j); 
C1 = zeros(length(i),length(j)) ; 

for parameter1=1:9 
    for parameter2=2:6 
     C1(parameter1,parameter2-1)= rand ;%f(parameter1, parameter2); 
    end 
end 


if ~isequal(size(X),size(C1)) ; 
    c=surf(X,Y,C1'); 
else 
    c=surf(X,Y,C1); 
end 
+0

另外請注意,.....你需要使用X,Y來衝浪.....直接你可以使用_surf_和你的C數據..它繪製的表面w.r.t它的指數.... –

相關問題