解线性方程组的思想.docVIP

  • 8
  • 0
  • 约1.95万字
  • 约 17页
  • 2016-10-13 发布于贵州
  • 举报
解线性方程组的思想

四:基本方法 基本思路将在解题的过程中得到体现。 1.(求线性方程组的唯一解或特解),这类问题的求法分为两类:一类主要用于解低阶稠 密矩阵 —— 直接法;一类是解大型稀疏矩阵 —— 迭代法。 利用矩阵除法求线性方程组的特解(或一个解) 方程:AX=b,解法:X=A\b,(注意此处’\’不是’/’) 例1-1??? 求方程组 的解。 解:??? A = ; = ;b=(1,0,0,0,1)’ 由于rank(A)=5,rank( )=5??? %求秩,此为R(A)=R( )=n的情形,有唯一解。?????? X= A\b????? %求解 X =(2.2662, -1.7218, 1.0571,-0.5940, 0.3188)’ 或用函数rref 求解,sv=rref(A:b);所得sv的最后一列即为所要求的解。 1.2 利用矩阵的LU、QR和cholesky分解求方程组的解 这三种分解,在求解大型方程组时很有用。其优点是运算速度快、可以节省磁盘空间、节省内存。 I) LU分解又称Gauss消去分解,可把任意方阵分解为下三角矩阵的基本变换形式(行交换 )和上三角矩阵的乘积。即A=LU,L为下三角阵,U为上三角阵。 则:A*X=b????????? 变成L*U*X=b 所以X=U\(L\b)???? 这样可以大大提高运算速度。命令??? [L,U]=lu (A) 在matlab中可以编如下通用m 文件: 在Matlab中建立M文件如下 % exp1.m A;b; [L,U]=lu (A); X=U\(L\b) II)Cholesky分解 若A为对称正定矩阵,则Cholesky分解可将矩阵A分解成上三角矩阵和其转置的乘积,即: ???? 其中R为上三角阵。 方程??? A*X=b??? 变成???? 所以??? 在Matlab中建立M文件如下 % exp2.m A;b; [R’,R]=chol(A); X=R\(R’\b) III)QR分解 对于任何长方矩阵A,都可以进行QR分解,其中Q为正交矩阵,R为上三角矩阵的初等变换形 式,即:A=QR 方程??? A*X=b??? 变形成???? QRX=b 所以???? X=R\(Q\b) 上例中??? [Q, R]=qr(A) X=R\(Q\B) 在Matlab中建立M文件如下 % exp3.m A;b; [Q,R]=qr(A); X=R\(Q\b) 2.求线性齐次方程组的通解(A*X=0) 在Matlab中,函数null用来求解零空间,即满足A#8226;X=0的解空间,实际上是求出解空 间的一组基(基础解系)。 在Matlab中建立M文件如下 % exp4.m format rat????? %指定有理式格式输出 A;b=0; r=rank(A); bs=null(A,‘r’); %一组基含(n-r)个列向量 % k ,k ,……,k % X= k *bs(:,1)+ k *bs(:,2)+……+ k *bs(:,n-r) 方程组的通解 pretty(X)?????? %让通解表达式更加精美 3??? 求非齐次线性方程组的通解(A*X=b) 非齐次线性方程组需要先判断方程组是否有解,若有解,再去求通解。 因此,步骤为: 第一步:判断AX=b是否有解,(利用基本思路的第一条) 若有解则进行第二步 第二步:求AX=b的一个特解 第三步:求AX=0的通解 第四步:AX=b的通解为: AX=0的通解加上AX=b的一个特解。 在Matlab中建立M文件如下 % exp4.m clear all A;b;??????????????????? %输入矩阵A,b [m,n]=size(A); R=rank(A); B=[A b]; Rr=rank(B); format rat if R==RrR==n??????????? % n为未知数的个数,判断是否有唯一解 x=A\b; elseif R==RrRn??????? %判断是否有无穷解 x=A\b?????????????????? %求特解 C=null(A, r )?????????? %求AX=0的基础解系,所得C为n-R列矩阵,这n-R列即为对 %应的基础解系 ??????????????????????? % 这种情形方程组通解xx=k(p)*C(:,P)(p=1…n-R) else X= No solution!??? % 判断是否无解 end 3.1实验目的 理解线性方程组计算机解法中的迭代解法的求解过程和特点,学习科学计算的方法和简单的编程技术。 3.2? 概念与结论 1.???? n阶线性方程组 如果未知量的个数为 n ,而且关于这些未知量x1,x2, … ,xn 的幂次都是一次的(线

文档评论(0)

1亿VIP精品文档

相关文档