在MATLAB中使用(j,i)vs(i,j)之间的区别

时间:2017-07-07 14:32:26

标签: matlab

所以我有这个代码,我的响应收缩受5个变量影响,即ORT,LT,PBT,RA和L.我正在绘制一个表面,当2个变量变化而其他变量不变时响应。当我在定义收缩时使用(i,j)时,我得到了错误的图形。当我使用(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);

1 个答案:

答案 0 :(得分:0)

这是Matrix Indices vs. Axis Indices的问题。

使用这个或那个时要注意(meshgridndgrid)。