全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
1142 5
2012-09-21
有以下程序:
proc iml;
d1=3;
d2=4;
d={d1 d2};
dd=diag(d);
print d dd;
quit;
我想输出对角矩阵DD=[3  0
                                     0  4]
但结果不是这样,软件把d1 d2作为元素来生成对角矩阵,请问有什么办法,当然我不是指直接将d1 d2换成3和4,请高人指点。
二维码

扫码加我 拉你入群

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

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

全部回复
2012-9-21 20:06:12
d=d1||d2;
二维码

扫码加我 拉你入群

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

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

2012-9-21 20:22:32
ziyenano 发表于 2012-9-21 20:06
d=d1||d2;
高见,可行,谢谢!
二维码

扫码加我 拉你入群

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

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

2012-9-21 20:33:05
harlon1976 发表于 2012-9-21 20:22
高见,可行,谢谢!
还有一个问题:%macro dd(cos);
proc iml;
q1=1; q2=&cos/2;q3=&cos*&cos/3;
q={q1 q2 ,q2 q3};
print q q1 q2 q3;
%mend;
%dd(3);
quit;
我想输出的结果矩阵q的结果为[1      1.5
                                                1.5    3]
但实际输出结果为[q1 q2
                         q2 q3]
请问如何实现这个要求。叩谢!
二维码

扫码加我 拉你入群

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

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

2012-9-21 20:44:27
harlon1976 发表于 2012-9-21 20:33
还有一个问题:%macro dd(cos);
proc iml;
q1=1; q2=&cos/2;q3=&cos*&cos/3;
q=(q1||q2)//(q2||q3);
二维码

扫码加我 拉你入群

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

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

2012-9-21 20:48:45
ziyenano 发表于 2012-9-21 20:44
q=(q1||q2)//(q2||q3);
可行,谢谢了!
二维码

扫码加我 拉你入群

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

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

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

说点什么

分享

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