y********i 发帖数: 205 | 1 写了下面一个程序,实际就是一个3x3的矩阵赋值。但是不知道为什么,结
果只能输出矩阵c为{1 2 0, 4 5 0, 7 8 0}.不知道为什么最后一列不赋值? 单独输出
i,j的确是从1到3,但是不知到为什么结果最后一列不赋值,实在是想不明白。请高人
指点下。(我知道如果直接用i= 1 to 3和j=1 to 3赋值是没有问题的,但是我就是想知道我下
面这样赋值的方法为什么不行,逻辑上有什么问题啊?)
proc iml;
a={1 2 3, 4 5 6, 7 8 9};
c={0 0 0, 0 0 0, 0 0 0};
do b1=-4.286 to -3.886 by 0.2;
do b2=-1.676 to -1.276 by 0.2;
i=(b1+4.286)/0.2+1;
j=(b2+1.676)/0.2+1;
c[i,j]=a[i,j];
end;
end;
print c;
quit; | l*********s 发帖数: 5409 | 2 due to rounding.i,j appears to be integers but they are not. |
|