解线性方程组基思想

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

解线性方程组基思想

————————————————————————————————作者:————————————————————————————————日期:

四:基本方法

基本思路将在解题的过程中得到体现。

1.(求线性方程组的唯一解或特解),这类问题的求法分为两类:一类主要用于解低阶稠

密矩阵——直接法;一类是解大型稀疏矩阵——迭代法。

1.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•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==Rr&R==n % n为未知数的个数,判断是否有唯一解

x=A\b;

elseif R==Rr&R

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章线性方程组的迭代解法

3.1实验目的

理解线性方程组计算机解法中的迭代解法的求解过程和特点,学习科学计算的方法和简单的编程技术。

3.2概念与结论

1.n阶线性方程组

如果未知量的个数为n ,而且关于这些未知量x1,x2, …,x n的幂次都是一次的(线性的)那末, n 个方程

a11x1+a12x2+ …+a1n x n=b1

┆┆┆(1)

a n1x1+a n2x2+ …+a nn x n=

b n

构成一个含n个未知量的线性方程组,称为n阶线性方程组。其中,系数a11,…,a1n,a21, …,a2n, …,a n1, …,a nn和b1, …,b n都是给定的常数。

方程组(1)也常用矩阵的形式表示,写为

Ax=b

其中,A是由系数按次序排列构成的一个n阶矩阵,称为方程组的系数矩阵,x和b都是n维向量,b称为方程组的右端向量。

2. n阶线性方程组的解

使方程组(1)中每一个方程都成立的一组数x1*,x2*, …,x n*称为式(1)的解,把它记为向量的形式,称为解向量.

相关文档
最新文档