全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
2951 5
2012-05-27
假设有个矩阵,记为A,不妨假设为10阶的方阵,其赋值按照如下要求:
(1)主对角线上的第一个元素和最后一个元素为1,其他主对角线上的元素为2;
(2)如果列标等于行标加1,则该位置的元素为-1,其他元素都为0.
如何使用IML来实现这个要求。谢谢!
二维码

扫码加我 拉你入群

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

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

全部回复
2012-5-29 00:09:21
The vectorized operation will be,

proc iml;

n=5;

a1=i(n);
b1=loc(a1);
b2=b1+1;
*b3=b1-1;

a1(|b1(|2:n-1|)|)=2;
a1(|b2(|1:n-1|)|)=-1;
*a1(|b3(|2:n  |)|)=-1;



print a1 ;
quit;
二维码

扫码加我 拉你入群

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

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

2012-5-29 07:50:39
谢谢,满足分析的要求。
二维码

扫码加我 拉你入群

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

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

2012-5-29 09:02:34
bobguy 发表于 2012-5-29 00:09
The vectorized operation will be,

proc iml;
谢谢了,还有一个问题:现在有个列向量比如a=(a1,a2,a3,a4,a5,a6),现抽取该向量中的元素形成一个协方差矩阵如下(对称矩阵):
A={a1 a2 a3 a4 a5 a6;
     a2  a1 a2 a3 a4 a5;
     a3  a2 a1 a2 a3 a4;
     a4  a3 a2 a1 a2 a3;
     a5  a4 a3 a2 a1 a2;
     a6  a5 a4 a3 a2 a1}
   谢谢了。
二维码

扫码加我 拉你入群

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

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

2012-5-30 10:58:29
harlon1976 发表于 2012-5-29 09:02
谢谢了,还有一个问题:现在有个列向量比如a=(a1,a2,a3,a4,a5,a6),现抽取该向量中的元素形成一个协方差矩 ...
There is no problem to form a symmetric matrix as below. BUT a symmetric matrix is not necessary a covariance matrix.

proc iml;
a={10 2 3 4 5 6};



n=ncol(a);

symmetric_matrix=i(n);
b=loc(symmetric_matrix);
b2=loc(symmetric_matrix);

do i=0 to n-1;

   k=b+i;
   k2=b2-i;
   symmetric_matrix(|k(|1:n-i|)|)=a(|i+1|);
   if i>=1 then symmetric_matrix(|k2(|1+i:n |)|)=a(|i+1|);

end;

print symmetric_matrix;
quit;



quit;
二维码

扫码加我 拉你入群

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

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

2012-5-30 11:38:06
bobguy 发表于 2012-5-30 10:58
There is no problem to form a symmetric matrix as below. BUT a symmetric matrix is not necessary a ...
谢谢你的程序,你说的很对,对称矩阵未必是协方差矩阵,不过我的结果的确是协方差矩阵,叩谢老兄了。
二维码

扫码加我 拉你入群

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

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

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

说点什么

分享

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