楼主: mingfeng07
835 1

关于矩阵参数问题 [推广有奖]

已卖:306份资源

副教授

65%

还不是VIP/贵宾

-

威望
0
论坛币
1147 个
通用积分
2.0601
学术水平
113 点
热心指数
105 点
信用等级
83 点
经验
30381 点
帖子
643
精华
0
在线时间
1147 小时
注册时间
2012-11-20
最后登录
2023-5-23

初级热心勋章

楼主
mingfeng07 学生认证  发表于 2013-10-24 08:43:23 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
废话不多说,直接上程序:
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值会发生改变,但是为何在第一个程序中不能得到相同的结果呢?

二维码

扫码加我 拉你入群

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

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

关键词:Square finish print Start STAR

欢迎扫一扫我头像关注, 不定期分享SAS技术知识。

沙发
mingfeng07 学生认证  发表于 2013-10-24 19:57:30
自己顶一下,求解答
欢迎扫一扫我头像关注, 不定期分享SAS技术知识。

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2025-12-30 03:16