全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
10564 8
2012-04-10
问题是这样的:我在IML中通过计算得到某个矩阵例如beta,比如说是2阶方阵,现在对其中的元素进行一些运算并把结果重新赋值到另一个矩阵中,如何完成这个操作。下面的程序给出了这个实现中的问题:这里beta是我给定的,我想把beta的第一个元素除以2然后赋给矩阵q的第一行第二列中,把beta的第二行第二列元素的1.5次方赋给矩阵q的第二行第二列,但下面的语句是不对的,请高手赐教。
proc iml;
beta={2 3,3 4};
q12=beta[1,1]/2;
q22=beta[2,2]**2/3;
q={1  q12,q12  q22};
print beta q12 q22 q;
二维码

扫码加我 拉你入群

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

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

全部回复
2012-4-10 09:25:06
proc iml;
beta={2 3,3 4};
q=j(2,2,.);
q[1,2]=beta[1,1]/2;
q[2,2]=beta[2,2]**2/3;
q[1,1]=1;
q[2,1]=beta[1,1]/2;
print beta q;
给矩阵赋值不能是表达式,
你可以看看
https://bbs.pinggu.org/thread-912494-1-1.html
二维码

扫码加我 拉你入群

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

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

2012-4-10 09:28:09
yunqingwang 发表于 2012-4-10 09:25
proc iml;
beta={2 3,3 4};
q=j(2,2,.);
谢谢了!
二维码

扫码加我 拉你入群

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

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

2012-4-10 09:33:02
harlon1976 发表于 2012-4-10 09:28
谢谢了!
你是学习还是为了工作?我有近两年的IML使用经验,哈哈
二维码

扫码加我 拉你入群

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

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

2012-4-10 11:32:27
yunqingwang 发表于 2012-4-10 09:33
你是学习还是为了工作?我有近两年的IML使用经验,哈哈
学习用,我是高校老师,也算是工作用吧,你有两年的经验,我问下,在IML中一旦调用过程后,IML以前定义的矩阵都不能在过程后再次使用IML调用,解决的办法是在使用过程前,把矩阵转换为数据集,然后再次用IML把数据集转为矩阵,除此之外,还有什么号办法吗?望赐教!
二维码

扫码加我 拉你入群

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

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

2012-4-10 11:45:26
harlon1976 发表于 2012-4-10 11:32
学习用,我是高校老师,也算是工作用吧,你有两年的经验,我问下,在IML中一旦调用过程后,IML以前定义的 ...
这个问题以前有人问过,我以前试了一下,即使加上global 也不行,为什么不在一个iml里面计算啊
二维码

扫码加我 拉你入群

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

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

点击查看更多内容…
相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

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