全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
805 1
2013-10-24
废话不多说,直接上程序:
proc iml;
start square(a,b);
a=b##2;
finish;
x={9 5};
y={10 4};
do i=1 to 2;
run square(x[i],y[i]);
end;
print x y;
run;
得到的矩阵x和y并未发生改变,而如果换另外一种形式:
proc iml;
start square(a,b);
a=b##2;
finish;
x=9;
y=10;
run square(x,y);
print x y;
run;
得到的x值将会发生改变。
这两个程序为何会得到两种不同的结果呢?
另外我知晓第二个程序中当模块square结束后局部变量a,b会将其值赋给全局变量x,y,所以x值会发生改变,但是为何在第一个程序中不能得到相同的结果呢?

二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

全部回复
2013-10-24 19:57:30
自己顶一下,求解答
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群