请问,我创建了一个矩阵,前三列和第一行数据已有,第四列至十三列的数据根据前一行和前三列的数据来计算。使用proc iml方法来做,程序如下:
proc iml;
use c;
read all into a;
reset print;
do i=2 to 100;
a[i,4]=a[i-1,4]*sqrt(a[i-1,13]);
a[i,5]=a[i-1,9]/(i-1);
a[i,6]=a[i-1,11];
a[i,7]=a[i-1,12]+a[i,4];
a[i,8]=a[i,3]-a[i,2]*a[i,6];
a[i,9]=a[i-1,9]+a[i,8]*a[i,8];
a[i,10]=a[i,2]*a[i,2]*a[i,7]+a[i,5];
a[i,11]=a[i,6]+a[i,7]*a[i,2]*a[i,8]/a[i,10];
a[i,12]=a[i,7]-a[i,7]*a[i,7]*a[i,2]*a[i,2]/a[i,10];
a[i,13]=(a[i,9]/i-a[i,5])/(a[i,2]*a[i,2]*a[i,7]);
end;
quit;
跑出来的结果是ERROR: (execution) Invalid argument to function.
可以给我解释一下错误原因么?
谢谢!