当前位置:文档之家› 求解线性方程组

求解线性方程组

在Matlab中建立M文件如下 clear all A=[1 1 1 1 -3 -1 1;1 0 0 0 1 1 0;-2 0 0 -1 0 -1 -2]; b=[1,0,1]'; %输入矩阵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<n %判断是否有无穷解 x=A\b %求特解
x=(A' A)-1 A ' b —— 求逆法
x=A\b —— matlab用最小二乘法找一
个准确地基本解。
8
5.2.2 非齐次线性方程组的解 法

超定方程组的求特解
例: x1+2x2=1
பைடு நூலகம்
1 2 2 3 3 4
x1 x2
1
=2
3
2x1+3x2=2
3x1+4x2=3 a *x 解1 x=a\b 解2 x=inv(a'a) a' b x= x= 1.00 1.00
5.2 求解线性方程组
5.2.1 齐次线性方程组的解法

对于齐次线性方程组AX=0而言,可以通过求系 数矩阵A的秩来判断解的情况: 1、如果系数矩阵的秩=n(方程组中未知数的个 数),则方程组只有零解。
2、如果系数矩阵的秩<n,则方程组有无穷多解。

可以利用MATLAB函数null(A),求它的一个基本 解。
x1+2x2+3x3=1
2x1+3x2+4x3=2 x=a\b
x= 1.00 0 0
x=pinv(a)b x= 0.83 0.33 -0.17
11
例5-12 求方程组的解。x
x1 x 2 x3 x 4 3 x5 x6 x7 1
1
x5 x 6 0
2 x1 x 4 x6 2 x7 1
5

5.2.2 非齐次线性方程组的解 法
1、恰定方程组的求特解 方程Ax=b(A为非奇异)
x=A-1b
两种方法:

x=inv(A)b — 采用求逆运算解方程 x=A\b — 采用左除运算解方程 若A为奇异矩阵,则A\b给出出错信息
6
5.2.2 非齐次线性方程组的解 法

恰定方程组的求特解
= b
0
0.00
9
5.2.2 非齐次线性方程组的解 法
3、欠定方程组的求特解 当方程数少于未知量个数时(m<n), 有无穷多个 解存在。 matlab可求出两个解:


用除法求的解x是具有最多零元素的解
基于伪逆pinv求得的是具有最小长度或范数的 解。
10
5.2.2 非齐次线性方程组的解 法

欠定方程组的求特解
3
5.2.2 非齐次线性方程组的解 法

求非齐次线性方程组(A*X=b)的通解时,需要先判 断方程组是否有解,若有解,再去求通解。 求非齐次线性方程组(A*X=b)的通解的步骤为: 第一步:判断AX=b是否有解,若有解则进行第二步; 第二步:求AX=b的一个特解;

第三步:求AX=0的通解;
第四步:AX=b的通解为:AX=0的通解加上AX=b的一 个特解。
2
5.2.2 非齐次线性方程组的解 法

对于非齐次线性方程组AX=b而言,则要根据系数矩 阵A的秩和增广矩阵B=[A b]的秩和未知数个数n的关 系,才能判断方程组AX=b的解的情况。
(1)如果系数矩阵的秩=增广矩阵的秩=n,则方程组 有唯一解。 (2)如果系数矩阵的秩=增广矩阵的秩<n,则方程组 有无穷多解。 (3)如果系数矩阵的秩<增广矩阵的秩,则方程组无 解。
4
5.2.2 非齐次线性方程组的解 法

用matlab求解时,求Ax=b对应的齐次方程组Ax=0的通解, 可以利用函数null; 求Ax=b的特解,根据方程组中方程的个数m和未知数的 个数n,可以把方程组Ax=b分为:恰定方程组(m=n), 超定方程组(m>n),欠定方程组(m<n)。 (1)m=n,恰定方程组,可以尝试计算精确解; (2)m>n, 超定方程组,可以尝试计算最小二乘解; (3)m<n,欠定方程组,可以尝试计算含有最少m的基 解。
%求AX=0的基础解系,所得C为n-R列矩阵,这n-R列即为对应的基础解系。 C=null(A,R ) %方程组通解xx=k(p)*C(:,P)(p=1…n-R) else display(‘Nosolution’) % 判断是否无解
end
12
1
5.2.1 齐次线性方程组的解法
x1 x 2 x3 x 4 3 x5 x 6 x 7 0
例5-11 用matlab 求解方程组 x1 x5 x6 0
2 x1 x 4 x6 2 x7 0
A=[1 1 1 1 -3 -1 1;1 0 0 0 1 1 0;-2 0 0 -1 0 -1 -2]; r=rank(A); % 求矩阵A的秩 x=null(A, r ) 得到解为: x= -0.2555 0.0565 -0.3961 -0.3138 -0.0215 0.7040 0.5428 0.0967 0.2218 -0.1603 -0.2941 0.7991 0.8915 0.0717 -0.0151 -0.2386 0.1752 0.4429 -0.2353 0.2039 0.0803 -0.4994 0.6314 0.1099 -0.2304 0.1573 0.0879 0.3781 x的列向量为Ax=0的一个基本解。
例: x1+2x2=8
2x1+3x2=13
1 2 x1 8 = 2 3 x2 13
A *x = b
x=A\b x= 2.00 3.00
7
x=inv(A)*b x= 2.00 3.00
5.2.2 非齐次线性方程组的解 法
2、超定方程组的求特解——一般求最小二乘解
方程 Ax=b ,m>n时。
方程解 (A ' A)x=A ' b
相关主题