2017-05-30 85 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它的指数.... –