第三章 SAS矩阵代数运算.doc
文本预览下载声明
第三章 SAS线性代数运算
SAS矩阵建立
proc iml;
a={2 4 8 0,
1 6 9 5 ,
11 15 3 7,
4 2 1 9};
Quit;
矩阵以IML开始,QUIT ends a SAS/IML session
每行以“,”结束
定义行向量
proc iml;
a={3 7 8 4};
定义列向量
proc iml;
a={2 , 7 , 8 , 9};
第一节 行列式
Y是矩阵A的行列式,则有
y=det(a);
例
求A的行列式,
克莱姆法则求解方程组,解X1的程序
Proc iml;
D={1 -1 1 -2,
2 0 -1 4,
3 2 1 0,
-1 2 -1 2};
D1={2 -1 1 -2,
4 0 -1 4,
-1 2 1 0,
-4 2 -1 2};
X1=det(d1)/det(d)?;
Print x1?;
Quit?;
第二节 矩阵运算
矩阵A,B的“加”、“减”、“乘”运算和矩阵转置
A+B
B
A*B
数乘矩阵
proc iml;
a={2 4 8 0,
1 6 9 5 ,
11 15 3 7,
4 2 1 9};
y=det(a);
print a;
print y;
Quit;
Proc iml;
D={1 -1 1 -2,
2 0 -1 4,
3 2 1 0,
-1 2 -1 2};
d2=2*d;
print d2;
x1=det(d2);
x2=16*det(d);
print x1 x2;
D1={2 -1 1 -2,
4 0 -1 4,
-1 2 1 0,
-4 2 -1 2};
c=d1*d;
c1=d*d1;
dd=det(d);
dd1=det(d1);
cc=det(d1*d);
y=dd*dd1;
print cc y;
*Print c c1;
* print dd dd1;
Quit ;
转置矩阵T(A),T(B)
验证矩阵运算
验证一般
验证
单位矩阵
3阶单位矩阵I(3)
对角矩阵
Proc iml;
a={3 6 9,
1 2 5,
2 4 10};
X=diag(a);
print x;
quit;
X矩阵为
3 0 0
0 2 0
0 0 10
分块矩阵
One={1,1,1,1};
A={1 1, 1 1};
B={2 2,2 2};
C=block(a,b);
J函数,产生一个n行m列,矩阵元素全相同的矩阵
例
one=j(5,1,1);
5行一列,全是1的矩阵。
求平均向量
Proc iml;
x={3 6 9,
1 2 5,
2 4 10};
Mx=t(x)*j(3,1,1)/3?;
print x mx;
quit;
第三节 逆矩阵
矩阵A的逆
X=inv(a);
验证
AX=b
X=inv(A)_*b
Proc iml;
A={1 -1 1 -2,
2 0 -1 4,
3 2 1 0,
-1 2 -1 2};
B={2,4,-1,-4};
X=inv(a)*b;
Print x;
Quit;
第四节 线性变换,初等变换,
计算矩阵Y的行数n与列数p
n = nrow(y) ;
p = ncol(y) ;
线性方程组
矩阵X初等行变换:ECHELON( X)
减少矩阵的行,找出不相关的矩阵的行
proc iml;
a={3 6 9,
1 2 5,
2 4 10};
e=echelon(a);
prin e;
run;
Proc iml;
A={1 -1 1 -2,
2 0 -1 4,
3 2 1 0,
-1 2 -1 2};
B={2,4,-1,-4};
X=inv(a)*b;
Print x;
d={1 -1 1 -2 2,
2 0 -1 4 4,
3 2 1 0 -1,
-1 2 -1 2 -4};
y=ECHELON(d);
print y;
Quit;
求解线性方程SOLVE( );
solves a system of linear equations
The SOLVE function solves the se
显示全部