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;