2017-07-07 1101 views
-4

所以我有这个代码,其中我的响应收缩受5个变量即ORT,LT,PBT,RA和L的影响。当两个变量变化而另一个变量不变时的响应。当我在定义收缩时使用(i,j)时,出现错误的图形。当我用(j,i)而不是(i,j)解决这个问题。我想知道为什么会发生这种情况。在MATLAB中使用(j,i)与(i,j)之间的区别

ORT=0:1.8:90; 
LT=100:4:300; 
PBT=54; 
RA=0; 
L=50; 
i=1; 
j=1; 
Shrinkage=zeros(50,50); 
for i=1:50 
for j=1:50 
    Shrinkage***(i,j)***=-0.610-(0.000653*ORT(i))+(0.002238 *LT(j))- 
    (0.000255*RA)+(0.00497*L)+(0.01411*PBT)+(0.000003*ORT(i)*LT(j))- 
    (0.000044*LT(j)*PBT)-(0.000009*RA*RA)-(0.000001*LT(j)*LT(j))- 
    (0.000011*L*L)+(0.000010*ORT(i)*L)+(0.000007*RA*L)-(0.000078*PBT*L); 
end 
end 
A=linspace(0,90,50); 
B=linspace(100,300,50); 
[ORT,LT]=meshgrid(A,B); 
surfc(ORT,LT,Shrinkage); 
+4

这是因为'meshgrid'调用。它与'(i,j)'的索引方式无关。创建坐标网格时,会翻转“ORT”和“LT”坐标。将'meshgrid'替换为'ndgrid',你可以让'(i,j)'索引相同,它会解决你的问题。你也可以在'meshgrid'调用中逆转'ORT'和'LT'的顺序:'[LT,ORT] = meshgrid(A,B);'。 – rayryeng

回答

0

这是Matrix指数与轴指数的问题。

当您使用这个或那个

讲究(meshgridndgrid)。

相关问题