文档详情

第三章 SAS矩阵代数运算.doc

发布:2017-12-18约2.82千字共8页下载文档
文本预览下载声明
第三章 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
显示全部
相似文档