矩阵分块求解逆及线性方程
实验3矩阵分块求解逆及线性方程
问题
化已知矩阵为上三角矩阵,构造thdmp矩阵,反求高阶非奇异矩阵的分块,求非齐次线性方程组的一般解。
实验的目的
学会用Matlab语言编程,掌握实施矩阵的初等变换,以已知矩阵为上三角矩阵的循环语句根据已知向量构造thdmp矩阵; 了解高阶非奇异矩阵用不同分块法求逆矩阵的误差分析; 根据软件求解的非齐次线性方程组扩展矩阵阶梯型的最简单形式可以写出线性方程组的一般解。
预备知识
线性代数知识:
向量构造的n阶thdmp矩阵
2 )求平方的可逆子块即块矩阵、逆矩阵有以下公式。
,然后,
)3)常用的矩阵范数为Frobenius范数;
本实验中使用的Matlab命令提示:
(1)输入语句:输入(“输入提示”);
)2)循环语句: for循环变量=初始值:步:最终值
循环语句组
结束
)3)条件句: if (条件式1 ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) )。
条件程序块语句组1
elseif (条件式2 )。
条件程序块语句组2
else
条件程序块语句组3
结束
(4)矩阵和向量的范数: norm(A ) a;
)5)求矩阵a的秩(rank(A ) a );
)6)求矩阵a的阶梯型行的最简单形式: rref(a )。
实验内容和要求
编程将任意给定的sy31.m文件的n次方阵B1变换为上三角矩阵B1; 调用时输入: B1=A,n=6; 其a是实验1[矩阵的基本运算]中的矩阵a矩阵;
编程为在创建的sy32.m文件中以1-6个增量的低矢量生成thdmp矩阵B2;
在编制的sy33.m文件中对任意输入的高次分块可逆矩阵B3进行编程以实现分块法的逆; (1)调用sy33.m文件时,输入B3=A^2,输入n1=2求B3的逆C2;
)2)调用sy33.m文件时输入上述的B3,输入n1=4求出B3的逆C4;
)3)调用sy33.m文件时,输入上述的B3,输入n1=6求出B3的逆C6;
(4)用以上三种方法求出的逆为norm ) )函数进行误差分析(即,作为(B3*Ci-E )的范数);
构造sy34.m文件,求出下一个非齐次线性方程的一般解。
五.思考和练习
求次齐次线性方程的基础解系
2 .使用任意输入的8维矩阵向量构造8维thdmp矩阵。
六.操作提示
1 .计算过程
(1) sy31.m文件
B1=input(B1=) )
n=input(n=) )
for j=1:N
for i=j 1:N
B1(I, )=-B1(i ) I,j )/B1 ) j,j ) (B1 ) j, ) B1 ) I, ) ) ) ) ) ) 660 )
结束
结束
B1
调用时输入: Load sy1 A
B1=A,n=6
)2) sy32.m文件
t=input(t=);
t
n=input(n=);
for i=1:n
B2(I, )=t.^ ) I-1 );
结束
B2
调用时输入: T=1:6,n=6
)3) sy33.m文件
B3=input(B3=);
[n,m]=size(B3;
N1=input('N1=' );
if(n1n ) )。
disp(N1N ) )。
ELSEif(N1==n ) ) ) ) ) ) ) ) )。
C1=inv(B3 )
else
b11=B3 (1: n1,1: n1 );
B12=B3(1:N1,n1 1:n );
B21=B3(N11:N、1:n1 );
B22=B3(n1 1:n,N11:N );
IB11=inv(B11; C22=inv(B22-B21*IB11*B12 );
c12=-ib11*b12*c22; c21=-c22*b21*ib11;
c11=ib11-c12*b21*ib11;
C=[c11 c12; c21 c22]
结束
调用时输入: B3=A^2,n1=4; 转换C4=C;
调用时输入:同上的B3,n1=2; 转换C2=C;
调用时输入:同上的B3,n1=6; 转换C6=C;
e=eye(size ) B3 );
NORM(B3*C2-E );
NORM(B3*C4-E );
NORM(B3*C6-E );
)4) sy34.m文件
A34=[1 2 4 6 -3 2 4; 2 4 -4 5 1 -5 3; 3 6 2 0 5 -9 -1;
二十(四十)一八; 0 -4 -5 2 1 4 -5; 5 5 -3 6 6 -4 2]
随机(a34 )。
a35=rref(a34 ) )
2 .计算结果
sy31
B1=A
B1=
3 4 -1 1 -9 10
6 5