非齐次线性方程组
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
非齐次线性方程组Ax=b
一、基本理论
线性方程组Ax=b 有解条件: 系数矩阵A 的秩 = 增广矩阵(A,b )的秩.
非齐次线性方程组的解集结构:
若x 1是Ax=b 的一个特解, N (A )表示齐次线性方程组Ax=0的解空间, 则非齐次线性方程组Ax=b 的解集为x 1+N (A ).
解非齐次线性方程组的方法:
通过初等行变换将增广矩阵(A,b )化为最简行阶梯矩阵(A 1,b 1), 写出对应的方程组,根据方程组写出解.
二、Matlab 实现
调用rref(A )将A 化为最简行阶梯矩阵, 根据对应的方程组写出解.
若方程组有解, 且rank(A )=n ,即A 列满秩时, 方程组有唯一解. 此时可直接用A 左除b 求得唯一解:x=A\b .
三、例子
例1. 求解线性方程组
123452451234512351
2
3
4
5
343226333
434222026231
x x x x x x x x x x x x x x x x x x x x x x -++-=⎧⎪---=-⎪⎪-++-=⎨⎪++-=⎪-+-++=
⎪⎩
A=[3 -4 3 2 -1; 0 -6 0 -3 -3; 4 -3 4 2 -2; 1 1 1 0 -1; -2 6 -2 1 3]; b=[2; -3; 2; 0; 1]; A1=[A b]
A1 =
3 -
4 3 2 -1 2 0 -6 0 -3 -3 -3 4 -3 4 2 -2 2 1 1 1 0 -1 0 -2 6 -2 1 3 1
rref(A1)
ans =
1 0 1 0 -1 0 0 1 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0
化为方程组
324
1551
0x x x x x x ++=-⎧⎪=⎨⎪=
-⎩
所以解为
15233354555311000001100011010x x x x x x x x x x x x --⎛⎫⎛⎫⎛⎫⎛⎫⎛⎫ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪==++ ⎪ ⎪ ⎪ ⎪ ⎪-- ⎪ ⎪ ⎪ ⎪ ⎪
⎪ ⎪ ⎪ ⎪ ⎪
⎝⎭⎝⎭⎝⎭⎝⎭⎝⎭
++
例2. 设函数2
y ax
bx c =++经过点(1,1), (2,2), (3,0), 求系数a , b , c .
解
1422930a b c a b c a b c ++=⎧⎪
++=⎨⎪++=⎩
输入系数矩阵A 和右端项b
A=sym([1 1 1; 4 2 1; 9 3 1]); b=sym([1; 2; 0]);
增广矩阵1A A1=[A b]
A1 =
[ 1, 1, 1, 1] [ 4, 2, 1, 2] [ 9, 3, 1, 0]
利用rref 求解 R=rref(A1)
R =
[ 1, 0, 0, -3/2] [ 0, 1, 0, 11/2] [ 0, 0, 1, -3]
即解为
311
,,322
a b c =-==-
解二
判断方程组是否有解, 即系数矩阵A 的秩是否等于增广矩阵1A 的秩. rank(A)==rank(A1)
ans = 1 有解.
判断方程组是否有唯一解, 即系数矩阵 A 是否等于A 的列数n .
[m,n]=size(A); rank(A)==n
ans = 1
A 的秩等于列数n , 有唯一解.
直接用A 左除 b 求解 x=A\b
x = -3/2 11/2 -3
例 3. 设三种食物中每100g 中的蛋白质、碳水化合物、脂肪的含量如下表.
三种食物用量各为多少才能保证所需营养?
解. 设脱脂牛奶用量为1x , 大豆面粉用量为2x , 乳清用量为3x .
1231231
2
3
36 51 133352 34 74450 7 1.13
x x x x x x x x x ++=++=++=⎧⎪⎨⎪⎩
A=[36 51 13 33; 52 34 74 45; 0 7 1.1 3]
A =
36.0000 51.0000 13.0000 33.0000 52.0000 34.0000 74.0000 45.0000 0 7.0000 1.1000 3.0000 R=rref(A)
R =
1.0000 0 0 0.2772 0 1.0000 0 0.3919 0 0 1.0000 0.2332
所以脱脂牛奶的用量为27.72g ,大豆面粉的用量为39.19g ,乳清的用量为23.32g 。