线性方程组的解的判定
线性代数与概率论第3线性方程组
5 4
即方程组 的解为:
x1
1 4
,
x2
23 4
,
x3
5 4
【例2】解线性方程组:2x1x1 3xx22
5x3
0, 5,
x1 x2 4x3 3,
4x1 5x2 7x3 6.
4
2
0 0 1 3 1
0 0 0
1
0
1 0 0 0 1
0
1
0
0
2
0 0 1 0 1
0
0
0
1
0
于是得原方程组唯一的一组解:
x1=1,x2=2,x3=-1,x4=0. 根据第2章中利用初等行变换求矩阵的秩的 结论,上例中r(A)=r(B)=4,此组有解, 且有唯一解.显然,若r(A)<r(B),则该线性 方程组无解
第三步,写出所得矩阵对应的方程组,再 整理出方程组的一般解。
实际上,第二步和求逆矩阵的第三步类似。
1、线性方程组AX = b的解的情况归纳如下:
(1.1)AX = b有唯一解 秩(A) 秩(A) n (1.2)AX = b有无穷多解 秩(A) 秩(A) n (1.3)AX = b无解 秩(A) 秩(A)
am1x1 am2 x2 amn xn 0.
的一组解。称为0解,或平凡解。否则称为 非零解。
方程组的解:
方程组的解是满足方程组的未知量的
一组取值: x1 c1, x2 c2,, xn cn. 也可记为:(c1, c2,, cn)
注意: 方程组的解可能有惟一解,也可能
线性方程组的解的 判定
线性方程组的解的判定
线性方程组的解的判定,是指对线性方程组的解进行判定,以确定其是否有解、是唯一解或者无解。
下面就来详细介绍线性方程组解的判定。
首先,我们来看一下线性方程组的定义:线性方程组是由一组线性方程组成的集合,并且每一个方程中变量的指数为1。
例如:2x + 3y = 5, 4x - 6y = 12.
对于线性方程组的解的判定,有三种常用的方法:
1. 通解法:通解法是求解线性方程组的一种常用方法,即令原方程组的所有方程式左端相加,右端相减,得到一个新的等式。
然后再将此等式化为标准形式,即将所有变量的系数变为正数,最后将方程组解为一个共同的标准型,从而得出线性方程组的解。
2. 秩的判定法:秩的判定法是根据矩阵的秩来判断线性方程组的解。
可以将线性方程组转换为矩阵形式,计算出矩阵的秩,然后根据矩阵的秩来判断线性方程组是否有解。
3. 间接判定法:间接判定法是一种在解线性方程组时,对方程组的解进行判定的一种方法。
这种方法既不求解方程组,也不求矩阵的秩,而是计算出方程组的系数矩阵的行列式,根据行列式的值来判定方程组是否有解,这
种方法的优点是求解简单易懂,但是缺点是计算量大,无法直接判断方程组是否有唯一解。
以上就是线性方程组解的判定的详细介绍,它是一种重要的数学解决问题的方法,可以有效地判定线性方程组的解是否有解,是唯一解或者无解,从而给出解决问题的有效方案。
2.6线性方程组解的一般理论
x4
0
,
1
,
0
x5 0 0 1
2 2 6
1
1
5
1
1
,2
0
,3
0
0
1
0
0
0
1
一般解 c11 c22 c33
(c1, c2, c3为任意常数.)
8
三、非齐次线性方程组解的结构
x11 x22 xnn (I) 0 (II)
第二章 线性方程组 §2.6 线性方程组解的一般理论
一、线性方程组有解的判定定理 二、齐次线性方程组解的结构 三、非齐次线性方程组解的结构
1
一、线性方程组有解的判定定理
定理1 线性方程组 x11 x22 xnn (I) 有解
r( A) r( A) 推论1 线性方程组(I)无解 r(A) r( A) 推论2 线性方程组(I)有唯一解 r(A) r(A) n 推论3 线性方程组(I)有无穷多解 r(A) r(A) n
方程组的三个解向量 1,2 ,3满足
1
0
1
1 2 2, 2 3 1, 3 1 0
3
1
1
求 非 齐 次 线 性 方 程 组 一 的 般 解.
19
解 A是m 3矩阵, r(A) 1,
导出组的基础解系中有 含3 1 2个线性无关的解向量.
令1 2 a, 2 3 b, 3 1 c,则
其中k1 , k 2为任意实数.
21
A
2 1
3 0
1 2
1 2
3 6
0 0
0 0
1 0
1 0
1 0
5 0
0
0
4
5
3
4.1 线性方程组有解的条件
(1) 0, 3, R( A) R(B) 3, 方程组有唯一解; 故: (2) 0, R( A) 1, R(B) 2, 方程组无解;
(3) 3, R( A) R(B) 2, 方程组有无限多个解。
1 1 2 3 1 0 1 1
此时
B
r
0
3
3
6
r
0
1
1
2
,
0 0 0 0 0 0 0 0
x1 1 1 1 2
x2 x3
c1
1
0
c2
0
2
0
1 2
, c1
, c2
R.
x4 0 1 0
例4
对于线性方程组
(1 x1
)
(1
x1
)
x2 x2
x3 x3
0, 3,
书本P112,T6
x1 x2 (1 )x3 ,
问取何值时,有解?有无穷多个解? 并求无穷多解的通解。
c1n d1
c2n
d2
M M
crn
dr
0 0
d
r 1
0
M M
0 0
初等变换不改变矩阵的秩,故有:R( A) R( A) r,
增广矩阵B 通过初等行 变换化为阶
梯型矩阵B
R(B)
R(B)
r, r
1,
当dr1 0, 当dr1 0.
故:
方程组(1)有解的充分必要条件为 dr1 0 ,此时R(A)=R(B)。
令 x3 c1, x4 c2,把它写成通常的参数形式
x1
21
4 3
c2
,
x3 c1,
x4
c2 ,
5
线性方程组解的判定幻灯片PPT
am1 am2 amn bn
1 0
0 1
0 0
0 0
b1r 1 b2 r 1
b1n b2n
d1 d2
0
0
1
0
b3r 1
b3n
d3
0
0
0
1
brr 1
brn
dr
0 0 0 0
0
0
d r 1
0 0 0 0 0 0 0
1.dr1 0,即 r,(A)r(A ~) 无解。
x1 5x2 x3 x4 1
例2:
x1 3x1
2 x2 8x2
x3 3x4 3 x3 x4 1
x1 9x2 3x3 7x4 7
1 5 1 1 1
A~
1 13
2 8 9
1 1 3
3 1 7
3
1 7
1 5 1 1 1
0 7 2 4 4
00
7 14
2 4
4 8
84
1 5 1 1 1
0
0
0
0
0
一个含有n个未知数的m个方程的线性方程组:
a11x1 a12x2 a1nxn b1 a21x1 a22x2 a2nxn b2 am1x1 am2x2 amnxn bm
对它的增广矩阵:
a11
A~
a2 1
a1 2
a2 2
a1n a2n
b1 b2
进展初等行变换,
可化为如下形式:
例:讨论线性方程组
x1 x2 2x3 3x4 1
x1 3x1
3x2 x2
6x3 px3 1
x4 5x4
6 3
x1 5x2 10x3 12x4 t
第四讲线性代数
基础解系的概念
定义:齐次线性方程组 Ax = 0 的一组解向量:x1, x2, ..., xr
如果满足
① x1,x2,...,xr 线性无关; ②方程组中任意一个解都可以表示x1, x2, ..., xr 的线性组合,
那么称这组解是齐次线性方程组的一个基础解系.
设 R(A) = r ,为叙述方便, 不妨设 A 行最简形矩阵为
x1 b11c1 b c 1,nr nr
b11
b12
xr
br1c1
xr+1
c1
b c r ,nr nr
c1
br1 1
+
c1
br 2 1
+
xr + 2
c2
0
0
xn
cnr
0 0
b1,nr
+
cnr
x1 x2 5 x3 + 7 x4 0
3
4
根据前面的结论,导出组的基础解系为
x1
2 1
,
x2
3 0
0
1
于是,原方程组的通解为
3 4 1
c1x1 + c2x2
+*
c1
2 1
+
c2
3 0
+
1
0
0
1
0
§5 向量空间
封闭的概念
定义:所谓封闭,是指集合中任意两个元素作某一运算得到 的结果仍属于该集合. 例:试讨论下列数集对四则运算是否封闭? 整数集 Z 有理数集 Q 实数集 R
结论:若 x = x1, x = x2, ...,, x = xt 是齐次线性方程组 Ax = 0 的解, 则 x = k1x1 + k2x2 + … + ktxt 还是 Ax = 0 的解.
线性方程组的解的性质与判定
线性方程组解的性质与判定在控制系统中的应用,可以用于分析系统的稳定性。 通过线性方程组解的性质与判定,可以确定控制系统的响应时间,优化控制效果。 在控制工程中,线性方程组解的性质与判定可以用于设计控制器,提高系统的性能指标。 在处理复杂控制系统时,线性方程组解的性质与判定能够提供有效的解决方案,简化计算过程。
逻辑回归模型:通过线性方程组解的判定条件,确定最佳分类边界,实现分类任务。
支持向量机:利用线性方程组解的性质与判定,找到支持向量,实现分类和回归任务。
决策树和随机森林:通过线性方程组解的判定条件,确定最佳划分标准,构建决策树和随机 森林模型。
PART FOUR
线性方程组解的性质与判定的研究历史 当前研究的主要方向和重点 近年来的重要研究成果和突破 未来研究展望和挑战
近年来的研究热 点和重点
在各个领域的应 用情况
未来研究的发展 趋势和展望
深入研究线性方程组解的性质与判定的关系,为实际应用提供更准确的数学模型。 探索更高效的算法和计算方法,提高线性方程组求解的效率和精度。 结合人工智能和大数据技术,对大规模线性方程组进行高效求解和优化。 拓展线性方程组解的性质与判定的应用领域,如物理、工程、经济等领域。
汇报人:XX
线性方程组解的 性质与判定可用 于数据清洗,识 别异常值和缺失 值。
在数据分析中, 线性方程组解的 性质与判定可用 于确定数据分布 和趋势。
在机器学习中, 线性方程组解的 性质与判定可用 于特征选择和降 维处理。
在数据预测中, 线性方程组解的 性质与判定可用 于建立预测模型 和优化算法。
线性回归模型:利用线性方程组解的性质与判定,确定最佳拟合直线,提高预测精度。
02
注意事项:在使用系数矩阵判定法时,需要注意 计算秩的正确性和准确性,以避免误判。
3.向量组的线性相关性与线性方程组的解
§3.1 线性方程组解的判定1.定理3.1:n 元线性方程组AX=b ,其中A=(a 12a 12•••a 1n a 21a 22•••a 2n••••a m1a m2•••a mn),x=( x 1x 2••x n ) ,b=( b 1b 2••b m )(1)无解的充要条件是R(A)<R(A,b);(2)有惟一解的充要条件是R(A)=R(A,b)=n , (3)有无穷多解的充要条件是R(A)=R(A,b)<n.注:(1)R(A,b)先化为行阶梯形,判别。
有解时再化为行最简形求解。
(2)R(A)=m 时,AX=b 有解。
(3)R(A)=r 时,有n-r 个自由未知量,未必是后面n-r 个。
2.定理3.2:n 元线性方程组AX=0(1)有惟一解(只有零解)的充要条件是R(A)=n ; (2)有无穷多解(有非零解)充要条件是R(A)<n .注:(1)m <n,AX=0必有非零解。
3.定理3.3:矩阵方程AX=B 有解的充要条件是R(A)=R(A,B) 求解线性方程组例1. {4x 1+2x 2−x 3=23x 1−x 2+2x 3 =1011x 1+3x 2 =8例2. {2x 1+x 2−x 3+x 4 =14x 1+2x 2−2x 3+x 4=22x 1+x 2 −x 3−x 4 =1例3. 求解齐次线性方程组{3x 1+ 4x 2−5x 3+ 7x 4 =02x 1−3x 2+3x 3− 2x 4 =04x 1+11x 2−13x 3+16x 4=07x 1−2x 2+ x 3+ 3x 4 =0例4.写出一个以X=C 1(2−310)+C 2(−2401)为通解的齐次线性方程组。
例5(每年).(1)λ取何值时,非齐次线性方程组{ λx 1+x 2+x 3=1x 1+λx 2+x 3=λx 1+x 2+λx 3=λ2(1)有惟一解;(2)无解;(3)有无穷多组解?并在有无穷多组解时求出通解.(2)非齐次线性方程组{x 1+x 2+2x 3=02x 1+x 2+ax 3=13x 1+2x 2+4x 3=b当a,b 取何值时,(1)有惟一解;(2)无解;(3)有无穷多组解?并求出通解.例5(12/13学年).设A=(λ110λ−1011λ), b=(a11),已知Ax=b 存在两个不同的解:(1)求λ,a;(2)求Ax=b 的通解。
线性方程组解的判定
线性方程组解的判定
线性方程组解的判定是一个重要的数学问题,它涉及到对一组未知量的求解。
解的判定问题的主要内容如下:
1. 系数矩阵存在不等式:在求解线性方程组时,首先要判断系数矩阵是否存在不等式,即是否存在元素值为负的情况:若存在,则解不存在;如果全部元素值都不为负,则判定解存在。
2. 是否存在无穷解:通常情况下,一个线性方程组只有唯一解,即只有一组解。
但也有可能存在无穷多解,即系数矩阵存在元素值全为0,此时解可以是任意一组数,因此可以判定存在无穷解。
3. 闭解的确定:当系数矩阵存在不等式或存在元素值全为0时,可以判定存在无穷解;当系数矩阵存在唯一解时,需要通过计算、符号识别和几何意义的结合,来确定具体的闭解。
4. 压缩可行性:压缩可行性判定法是指将求解所求出来的解,压缩在基本解所构成的空间上,以便表达出更复杂的结果。
5. 方程式系数:也可以通过方程式系数的分析,来判定方程组的解的存在与否,这是一种常用的判定方法。
从上述内容可以看到,线性方程组解的判定是一个复杂的数学问题,要想判断线性方程组的解的存在性,需要结合不等式判定、无穷解判定、压缩可行性判定以及方程式系数等步骤,一步步进行判断,才能正确地确定某个线性方程组的解的存在性。
线性方程组解情况判定PPT课件
解空间的性质
解空间是一个向量空间, 具有加法和数乘封闭性。
02
线性方程组解的判定定理
唯一解的判定定理
总结词
当线性方程组的系数矩阵的行列式不为0时,方程组有唯一解。
详细描述
当系数矩阵的行列式不为0时,说明方程组中的方程是线性独立的,即方程组中 的每一个方程都能独立决定一个未知数的值,因此方程组有唯一解。
未知数
需要求解的变量。
线性方程组的解
01
02
03
解的定义
满足所有方程未知数的值 称为解。
解的存在性
对于给定的线性方程组, 可能存在多个解、无解或 无穷多个解。
解的唯一性
如果一个线性方程组有唯 一解,则该解是唯一的。
线性方程组的解空间
解空间的定义
所有解构成的空间称为解 空间。
解空间的维度
解空间的维度等于未知数 的数量。
物理问题中的线性方程组通常比较复杂,需要运用数学工具 和物理知识进行求解。通过求解这些线性方程组,可以深入 理解物理现象的本质和规律。
经济问题中的线性方程组
在经济学中,线性方程组也被广泛应用于各种问题的分析 和求解。例如,在市场分析、生产计划、财政预算等领域 ,线性方程组被用来描述经济关系和规律。
实际应用
在实际问题中,线性方程组广泛应 用于物理、工程、经济等领域,解 的判定对于解决实际问题具有指导 意义。
算法设计与优化
解的判定问题涉及到算法设计与优 化,对于提高计算效率和精度具有 重要意义。
未来研究方向
高维空间
计算复杂性
目前对于高维空间中线性方程组的解 判定研究尚不充分,未来可以加强这 方面的研究。
详细描述
矩阵的逆和行列式在判断线性方程组解的情 况中具有重要作用。通过计算系数矩阵的行 列式和逆,可以判断方程组的解的情况。当 系数行列式不为0时,方程组有唯一解;当 系数行列式为0时,需要进一步分析以确定 解的情况。此外,利用行列式的性质可以简
线性组合与线性相关2
⇔ x1α1+x2α2+···+xsαs=β 有解 ⇔ r(α1,α2,···,αs)=r(α1,α2,···,αs,β)
在此前提下,表示法唯一
⇔ x1α1+x2α2+···+xsαs=β 有唯一解 ⇔ r(α1,α2,···,αs)=r(α1,α2,···,αs ,β)=s ⇔ α1,α2,···,αs线性无关。
7. 向量个数大于维向量维数时,向量组线性相关。 8. n个n维向量组线性相关的条件是它们所构成矩阵 的行列式等于零。 小结:判断n维向量组α1,α2,···,αs是否线性相关 ,可先 比较向量个数s与向量维数n的大小: 1.若s>n ,则向量组线性相关,无需计算。 2.若s=n ,则可计算向量组构成矩阵A的行列式, A 当|A|=0时 ,向量组线性相关; = 此法也适用于 ,向量组线性无关。 当|A|≠0时 前两种情形。 3.若s<n ,则计算r(α1,α2,···,αs) 当r(α1,α2,···,αs) < s时,向量组线性相关; 当r(α1,α2,···,αs) = s时,向量组线性无关。
1 −1 2 0 −1 3 0 0 0 0 0 0
r (α1 , α 2 , α 3 ) = 2 < 3
所以α1,α2,α3线性相关;
r (α1 , α 2 ) = 2 所以α1,α2线性无关。
例:如果β可由α1,α2,···,αs 线性表示,则表示法唯一的 充要条件是α1,α2,···,αs线性无关。 分析:β可由α1,α2,···,αs线性表示
例:设有向量组α1=(1,0,-1,2)T,α2=(-1,-1,2,-4)T,
α3=(2,3,-5,10)T, 试讨论向量组α1,α2,α3及向量组 α1,α2的线性相关性。 1 −1 2 1 −1 2 解:α1 , α 2 , α 3 ) = 0 − 1 3 0 − 1 3 ( − 1 2 − 5 0 1 −3 2 − 4 10 0 − 2 6
第三章-线性方程组的解
线性代数——第 3章
所以方程组的通解为
x1 1 0 1 2 x2 = c 1 + c 0 + 0 . x3 2 0 4 2 1 2 其中c2 ,c4 任意. 0 1 0 x4
可写成矩阵方程:
Ax b
B ( A, b)
线性代数——第 3章
例
1 2 2 1 1 0 2 4 8 2 设A , b 3 2 4 2 3 3 6 0 6 4
求矩阵A及矩阵B ( A b)的秩.
线性代数——第 3章
定理1 (1) (2) (3)
n元线性方程组Ax=b
无解的充分必要条件是R(A)<R(A,b); 有唯一解的充分必要条件是R(A)=R(A,b)=n; 有无穷多个解的充分必要条件是R(A)=R(A,b)<n;
线性代数——第 3章
1 0 0 ~ B0 0 0 x1
5 x1 2c2 3 c2 , x 2c 4 c , 2 2 3 2 x c , 3 1 x4 c 2 ,
线性代数——第 3章
2、非齐次线性方程组 增广矩阵化成行阶梯形矩阵,便可判断其是否有 解.若有解,化成行最简形矩阵,便可写出其通解. 例2 求解非齐次线性方程组
线性代数——第 3章
解
对系数矩阵 A 施行初等行变换:
1 2 2 1 1 2 2 1 r2 2r1 A 2 1 2 2 0 3 6 4 1 1 4 3 r3 r1 0 3 6 4
d d
线性方程组的解
x1 x 2 xn
故方程组有唯一解, 故方程组有唯一解
= d1 , = d2 , M = dn ,
~ 3. 若R(A) =R(B)= r <n,则B中的 r+1= 0 中的d 则 中的 ~ 不出现),于是B对应的方程组 ),于是 对应的方程组B (或dr+1不出现),于是 对应的方程组
d1 d2 M dr d r +1 0 M 0
1. 若R(A)<R(B), 则r+1行对应矛盾方程 行对应矛盾方程0=1, < 行对应矛盾方程 故方程组无解. 故方程组无解 2. 若R(A) =R(B)= r = n,则B中的 r+1=0(或dr+1 中的d 则 ~中的 ( ~ 不出现), ),且 都不出现,于是B对应方程组 不出现),且bij都不出现,于是 对应方程组
由于参数c 可取任意值, 由于参数 1,···, cn-r可取任意值, 故方程组有 无限多个解.证毕. 无限多个解.证毕. 称为线性方程组的通解. 解(6)称为线性方程组的通解 称为线性方程组的通解
(6)
由定理4容易得出线性方程组理论中两个最 由定理 容易得出线性方程组理论中两个最 基本的定理: 基本的定理 定理5 定理5 n 元非齐次线性方程组 Am×n x = b 有解
的充分必要条件是系数 矩阵 A 的秩等于增广矩 阵 B = ( A, b ) 的秩.
定理6 定理 n 元齐次线性方程组 Am×n x = 0 有非零解
的充分必要条件是系数 矩阵的秩 R( A) < n.
下面把定理5推广到矩阵方程 下面把定理 推广到矩阵方程 定理7 矩阵方程AX=B有解的充分必要条件是 定理 矩阵方程 有解的充分必要条件是 R(A) =R(A, B) . 矩阵, 矩阵, 证 设A为m×n矩阵 X为n×l矩阵 则B为m×l 为 × 矩阵 为 × 矩阵 为 × 矩阵. 按列分块, 矩阵 把X和B按列分块 记为 和 按列分块
2020-2021学年线性代数之线性方程组例题
即((11
)(2 ) )(1 )2
0 0
1时,
有无穷多个解.
行 1 1 1 1
A ~ 0 0 0 0
0
0
0
0
1 1 1 通解为:x c1 1 c2 0 0 (c1, c2 R).
0 1 0
法二:
11
A 1 1 (1 )2 (2 ).
11
(1) A 0, 即 1且 -2时, 有唯一解.
2 2 1
1 4
例4:设 A
(1,2 ,3 )
2
1
2 , B (1, 2 ) 0
3
1 2 2
4 2
验证 1,2 ,3 是 R3 的一个基,并求 1, 2 在此基下的坐标 .
2 2 1
解: (1) A 2 1 2 0, 则 1,2 ,3 线性无关, 从而是 R3 的一个基 .
2
0
0
1 1
2
3
1 23
则 1 在基 1,2 ,3 下的坐标为 23 , - 23 , -1T .
2 在基 1,2 ,3 下的坐标为
43 , 1,
2 3
T.
例5:设 1,2 ,3 是 R3 的一个基,求
(1)
由基 1,
1 2
2
,
1
33
到基
1 2 , 2 3, 3 1的过渡矩阵 .
4 1, 2, 4, a 8T , 1,1, b 3, 5T.
(1) a, b 为何值时, 不能用 1,2 ,3,4 线性表出 .
(2) a, b 为何值时, 能用 1,2 ,3,4 唯一地线性表出, 并写出表达式 .
(3) a, b 为何值时, 能用1,2 ,3,4不唯一地线性表出, 并写出表达式 .
线性方程组有解的判定定理
设 RA RB rr n,
则 B 的行阶梯形矩阵中含 r 个非零行,
把这 r 行的第一个非零元所对应的未知量作为 非自由未知量,
其余n - r个作为自由未知量,
并令 n - r个自由未知量全取0,
即可得方程组的一个解.
证毕
小结 RA RB n Ax b有唯一解
RA RB n Ax b有无穷多解.
-5 3 4
3
0 0 0 0
即得与原方程组同解的方程组
x1 x2
2 2
x3 x3
5
3 4
3
x4 x4
0, 0,
由此即得
x1 x2
2
x3
5 3
x4
,
-2
x3
-
4 3
x4
,
( x3 , x4 可任意取值).
令 x3 c1, x4 c2,把它写成通常的参数形式
x1
2c1
5 3
解 对增广矩阵B进行初等变换,
1 - 2 3 - 1 1 B 3 -1 5 - 3 2
2 1 2 - 2 3
1 - 2 3 - 1 1
0 5 - 4 0 -1
0 50 -04 0 12
显然,R( A) 2, R(B) 3, 故方程组无解.
例3 求解非齐次方程组的通解
x1 x1
c2 ,
x2
-2c1
-
4 3
c2 ,
x3 c1,
x4
c2
,
5
x1 x2 x3 x4
c1
2 -2 1 0
c2
3 -4
3 0
1
.
例2 求解非齐次线性方程组
x1 3 x1
线性方程组解的判别与解的结构
线性⽅程组解的判别与解的结构⼀.线性⽅程组求解定理1.线性⽅程组有解判别定理线性⽅程组a11 x1 + a12 x2 + … + a1n x n = b1 ,a21 x1 + a22 x2 + … + a2n x n = b2 , ......................................................as1 x1 + as2 x2 + … + asn x n = bs有解的充分必要条件是 : 它的系数矩阵与增⼴矩阵有相同的秩 .2. 齐次线性⽅程组a11 x1 + a12 x2 + … + a1n x n = 0,a21 x1 + a22 x2 + … + a2n x n = 0, ......................................................as1 x1 + as2 x2 + … + asn x n = 0有⾮零解的充分必要条件是: 它的系数矩阵的秩r ⼩于未知量个数n .齐次线性⽅程组求解⼀般步骤: 1.把系数矩阵通过初等变换,变换成阶梯形矩阵. 2.判断阶梯形矩阵中⾮零⾏的个数秩(r),以及计算⾃由元个数m=n-r. 3.确定⾃由元位置,然后以次为它们赋值1,0... 4.求解出⽅程组的基础解系. 5.⽤基础解系表⽰出⽅程全解.⾮齐次线性⽅程组求解,与齐次线性⽅程组求解过程基本⼀致,只需要再求出⼀个特解。
⼆.如何⽤C语⾔计算线性⽅程组的解 那么如何⽤算法求出线性⽅程组的解呢? 就是根据上⾯⽅程组求解⼀般步骤来的, 1.矩阵的初等变换(在上次⾏列式计算的基础上,这个很好实现). 2.求出矩阵的秩/⾃由元个数,然后确定⾃由元的位置(我认为这是⼀个难点) 3.初始化⾃由元(1,0,..),计算变量,最终求出基础解系 4.⾮齐次线性⽅程 4.1.先求出齐次线性⽅程组的基础解系 4.2.再利⽤上⾯步骤求⼀个特解即可1.矩阵的初等变换//初等⾏变换void primaryRowChange(int s, int n, double **array){int i,j,k,ii,kk,flag;double temp;for(i=0,j=0;i<s-1;i++,j++)//s⾏,最外围只需要变换s-1{ii=i;//如果⾏的⾸元为0,向下查找⼀个不为0的,然后换⾏if(*(*(array+i)+j) == 0){{if(*(*(array+k)+j)!=0)//第k⾏与第i⾏交换{for(kk=j;kk<n;kk++){temp=*(*(array+k)+kk);*(*(array+k)+kk) = *(*(array+i)+kk);*(*(array+i)+kk) = temp;}flag =1;break;}}//判断是交换成功,如果没有成功,则i--if(!flag){i--;continue;}i--;j--;continue;}for(;ii<s-1;ii++){if(*(*(array+ii+1)+j)==0)continue;temp =-*(*(array+ii+1)+j) / *(*(array+i)+j);for(k=j;k<n;k++)*(*(array+ii+1)+k) += *(*(array+i)+k) * temp;}}}2.计算矩阵的秩//计算矩阵的秩int getRank(int s, int n, double **array){int flag;int i,j,r=s;//判断⾮零⾏个数for(i=0;i<s;i++){flag=0;for(j=0;j<n;j++){if(*(*(array+i)+j)!=0 && (*(*(array+i)+j)>0.01 || *(*(array+i)+j) <-0.01))//排除很⼩数, {flag=1;break;}}if(!flag)//当前⾏全为零,则r为i;{r=i;break;}}return r;}3.确定⾃由元位置 ⾃由元确定需要考虑两种情况: 1).系数梯形矩阵最后⼀⾏只有⼀个⾮零元素. 2) 系数梯形矩阵中某⾏的个数等于⾃由元的个数.//获取⾃由元信息int* getFreeElement(int r, int n, double **array, int **matrixPrimary, double **matrixCalc) {int i,j,k,o,p,q;int m=n-1-r;//n-1:int *freeElement =(int*)malloc(m*sizeof(int));j=-1;//判断是否有为0的变量q=0;//如果当前⾏⾮零个数与⾃由元个数相等,则标记为1,⾃由元选择起始位置左移⼀位if(*(*(matrixPrimary+i)+1)==1)//说明第i⾏只有⼀个变量,如果是齐次⽅程它的解⼀定为0 {j=*(*(matrixPrimary+i)+0);for(k=0;k<r;k++)*(*(matrixCalc+k)+j)=*(*(array+k)+n-1) / *(*(array+k)+j);}else if(n-1-matrixPrimary[i][0]==m){q=1;}else if(n-1-matrixPrimary[i][0]>m){o=matrixPrimary[i][0];//当前⾏的⾸元位置p=0;//次数for(k=n-2-q;k>=o;k--)//从后向前查找⾃由元位置{if(k==j)continue;freeElement[p++]=k;if(p==m)//说明已经找到 m个⾃由元return freeElement;}}}return freeElement;}求解⽰例图:1> p148-例42> 2.7(1)-13> 2.7(2)-1.14> 2.7(2)-1.25> 2.7(2)-1.36> 2.7(3)-1.17> 2.7(3)-1.28> 2.7(3)-1.39> 2.7(3)-1.410> p155-例6以下是C语⾔求解的全部源代码#include <stdio.h>#include <stdlib.h>double undefined=-999;//标志位void main(){int i,j,s,n;int res;double **array,*temp,**result;//tempdouble t1[6]={1,1,1,1,1,0};double t2[6]={3,2,1,0,-3,0};double t3[6]={0,1,2,3,6,0};double t4[6]={5,4,3,2,6,0};int homogeneous=1;//标识⽅程是否是齐次⽅程void primaryRowChange(int s, int n, double **array);void printfDouble1Dimension(int n, double *array);void printfDouble2Dimension(int s, int n, double **array);int homogeneousResolve(int s, int n, int homogeneous, double **array, double **result); int nonHomegeneousResolve(int s, int n, double **array, double **result,double *special); //void printfInt2Dimension(int s, int n, int ** array);//int* getPrimary(int n,double *temp);//输⼊说明printf("输⼊说明:⾏数代表S个线性⽅程,N代表未知数及常数项.\n");printf("例如⽅程如下:\n");printf("1x-2y+3z=4\n");printf("-2x-4y+5z=10\n");printf("如下输⼊2⾏,4列:\n");printf("1 -2 3 4\n");printf("-2 -4 5 10\n\n");//开始printf("输⼊⾏数:");scanf("%d",&s);printf("输⼊列数:");scanf("%d",&n);//s=4;//n=6;//动态分配内存空间array =(double**)malloc(s*sizeof(double*));result =(double**)malloc(s*sizeof(double*));special =(double*)malloc(n*sizeof(double));for(i=0;i<s;i++){temp=(double*)malloc(n*sizeof(double));printf("请输⼊第%d⾏数组:",i+1);for(j=0;j<n;j++)scanf("%lf",temp+j);/*switch(i){case 0:temp=t1;//{1,1,1,1,1,0};break;case 1:temp=t2;//{3,2,1,0,-3,0};break;case 2:temp=t3;//{0,1,2,3,6,0};break;case 3:temp=t4;//{5,4,3,2,6,0};break;}*/array[i]=temp;}//打印数组printf("初等⾏列变换之前:\n");printfDouble2Dimension(s,n,array);//判断⽅程是否是齐次⽅程for(i=0;i<s;i++){if(*(*(array+i)+n-1)!=0)//如果最后⼀列,有不为0的说明⽅程为⾮齐次⽅程{homogeneous=0;break;}}primaryRowChange(s,n,array);printf("初等⾏列变换之后:\n");printfDouble2Dimension(s,n,array);if(homogeneous)//齐次{switch (res){case -1:printf("⽅程⽆解.\n");break;case0:printf("⽅程只有零解.\n");break;default:printf("⽅程的基础解系如下:\n");printfDouble2Dimension(res,n-1,result);break;}}else//⾮齐次{res=nonHomegeneousResolve(s,n,array,result,special);if(res==-1)printf("⽅程⽆解.\n");else{printf("⽅程的基础解系如下:\n");printfDouble2Dimension(res,n-1,result);printf("⽅程的特解如下:\n");printfDouble1Dimension(n-1,special);}}system("pause");}//初等⾏变换void primaryRowChange(int s, int n, double **array){int i,j,k,ii,kk,flag;double temp;for(i=0,j=0;i<s-1;i++,j++)//s⾏,最外围只需要变换s-1{ii=i;//如果⾏的⾸元为0,向下查找⼀个不为0的,然后换⾏if(*(*(array+i)+j) == 0){flag=0;for(k=i+1;k<s;k++){if(*(*(array+k)+j)!=0)//第k⾏与第i⾏交换{for(kk=j;kk<n;kk++){temp=*(*(array+k)+kk);*(*(array+k)+kk) = *(*(array+i)+kk);*(*(array+i)+kk) = temp;}flag =1;break;}}//判断是交换成功,如果没有成功,则i--if(!flag){i--;continue;}i--;j--;continue;}for(;ii<s-1;ii++){if(*(*(array+ii+1)+j)==0)continue;temp =-*(*(array+ii+1)+j) / *(*(array+i)+j);for(k=j;k<n;k++)*(*(array+ii+1)+k) += *(*(array+i)+k) * temp;}}}//⾮齐次⽅程解的情况int nonHomegeneousResolve(int s, int n, double **array, double **result, double *special) {int i,j,k,l;int r1,r2;//系数矩阵/增⼴矩阵的秩int getRank(int s, int n, double **array);int homogeneousResolve(int s, int n, int homogeneous, double **array, double **result);r1=getRank(s,n-1,array);r2=getRank(s,n,array);if(r1!=r2)return -1;//⽆解//特解temp =(double**)malloc(r1*sizeof(double*));homogeneousResolve(r1,n,0,array,temp);for(i=0;i<n;i++)*(special+i)=*(*(temp)+i);return homogeneousResolve(r1,n,1,array,result);}//齐次⽅程解的情况int homogeneousResolve(int s, int n, int homogeneous, double **array, double **result){int i,j,k,l,o,p,flag;int r;//秩rankint m;//⾃由元个数int f;//最后⼀个⾮零⾏⾸元的位置double sum1=0,sum2=0;double *temp = (double*)malloc(n*sizeof(double));//临时⾏指针int **matrixPrimary;//存储矩阵⾸元位置及⾮零元个数double **matrixCalc;//计算基础解系int *freeElement;//⾃由元位置double **matrixTemp;//声明函数void printfDouble2Dimension(int s, int n, double **array);void printfInt2Dimension(int s, int n, int **array);int** getPrimary(int s, int n, double **array);int getRank(int s, int n, double **array);double** initMatrixCalc(int s, int n);int* getFreeElement(int r, int n,double **array, int **matrixPrimary, double **matrixCalc);void printfInt1Dimension(int n, int *array);void getPrimarySolution(int r, int n, int homogeneous, double **array, int **matrixPrimary, double **matrixCalc ,int *freeElement, double **result); //秩rankr = getRank(s,n,array);//判断解的情况m=n-1-r;if(m<0)return -1;//⽆解else if(m==0)return0;//只有零解else{//初始化计算矩阵matrixCalc = initMatrixCalc(r,n);//获取矩阵⾸元信息matrixPrimary = getPrimary(r,n,array);/*printf("打印计算矩阵:\n");printfDouble2Dimension(r,n,matrixCalc);printf("打印矩阵⾸元信息:\n");printfInt2Dimension(r,2,matrixPrimary);*/freeElement = getFreeElement(r, n, array, matrixPrimary,matrixCalc);//打印⾃由元位置//printf("打印⾃由元位置:\n");//printfInt1Dimension(m, freeElement);//计算基础解系getPrimarySolution(r, n, homogeneous, array, matrixPrimary, matrixCalc, freeElement ,result);//printfDouble2Dimension(m,n,result);return m;}}//init Matrix calcdouble** initMatrixCalc(int s, int n){int i,j;double **array=(double**)malloc(s*sizeof(double*));for(i=0;i<s;i++){array[i] =(double*)malloc(n*sizeof(double));*(*(array+i)+n-1)=1;{*(*(array+i)+j)=undefined;}}return array;}//计算矩阵的秩int getRank(int s, int n, double **array){int flag;int i,j,r=s;//判断⾮零⾏个数for(i=0;i<s;i++){flag=0;for(j=0;j<n;j++){if(*(*(array+i)+j)!=0 && (*(*(array+i)+j)>0.01 || *(*(array+i)+j) <-0.01))//排除很⼩数, {flag=1;break;}}if(!flag)//当前⾏全为零,则r为i;{r=i;break;}}return r;}//查找某⾏⾮零个数及⾸元位置int** getPrimary(int s, int n, double **array){int i,j;int num=0,index=0;int **result=(int**)malloc(s*sizeof(int*));int *temp;for(i=0;i<s;i++){temp =(int*)malloc(2*sizeof(int));num=0;index=0;for(j=0;j<n;j++){if(*(*(array+i)+j)!=0){if(num==0)index=j;num+=1;}}temp[0]=index;temp[1]=num;result[i]=temp;}return result;}//获取⾃由元信息int* getFreeElement(int r, int n, double **array, int **matrixPrimary, double **matrixCalc){int i,j,k,o,p,q;int m=n-1-r;//n-1:int *freeElement =(int*)malloc(m*sizeof(int));j=-1;//判断是否有为0的变量q=0;//如果当前⾏⾮零个数与⾃由元个数相等,则标记为1,⾃由元选择起始位置左移⼀位for(i=r-1;i>=0;i--)//查找⾃由元,及位置为0的{if(*(*(matrixPrimary+i)+1)==1)//说明第i⾏只有⼀个变量,如果是齐次⽅程它的解⼀定为0 {j=*(*(matrixPrimary+i)+0);for(k=0;k<r;k++)*(*(matrixCalc+k)+j)=*(*(array+k)+n-1) / *(*(array+k)+j);}else if(n-1-matrixPrimary[i][0]==m){q=1;}else if(n-1-matrixPrimary[i][0]>m)o=matrixPrimary[i][0];//当前⾏的⾸元位置p=0;//次数for(k=n-2-q;k>=o;k--)//从后向前查找⾃由元位置{if(k==j)continue;freeElement[p++]=k;if(p==m)//说明已经找到 m个⾃由元return freeElement;}}}return freeElement;}//计算基础解系void getPrimarySolution(int r, int n, int homogeneous, double **array, int **matrixPrimary, double **matrixCalc ,int *freeElement, double **result) {int i,j,k,l,p;int m=n-1-r;//⾃由元double sum1,sum2;double *temp,**matrixTemp;//计算基础解系for(i=0;i<m;i++){matrixTemp=(double**)malloc(r*sizeof(double*));//复制数组for(j=0;j<r;j++){temp =(double*)malloc(n*sizeof(double));for(k=0;k<n;k++)*(temp+k)=*(*(matrixCalc+j)+k);matrixTemp[j]=temp;}//设置⾃由元为0或1for(j=0;j<r;j++){*(*(matrixTemp+j)+freeElement[i])=1;//⾃由元为1for(k=0;k<m;k++){if(k!=i)*(*(matrixTemp+j)+freeElement[k])=0;//⾃由元为0}}//printfDouble2Dimension(r,n,matrixTemp);//计算for(j=r-1;j>=0;j--){p=*(*(matrixPrimary+j));//当前⾏起始位置for(k=p;k<n;k++){if(*(*(matrixTemp+j)+k)==undefined)//如果等于标志位,它可能是未知变量{sum1=sum2=0;for(l=p;l<n;l++){if(l==n-1){sum1=*(*(array+j)+l) * *(*(matrixTemp+j)+l);}else if(l!=k){sum2+=*(*(array+j)+l) * *(*(matrixTemp+j)+l);}}for(l=0;l<r;l++)*(*(matrixTemp+l)+k)=((homogeneous?0:sum1)-sum2)/ *(*(array+j)+k);//如果齐次sum1=0;//break;}}}result[i]=matrixTemp[0];//printfDouble2Dimension(r,n,matrixTemp);}}void printfDouble2Dimension(int s, int n, double **array) {//printf("%d,%d",s,n);int i,j;for(i=0;i<s;i++){for(j=0;j<n;j++){printf("%6.2lf",*(*(array+i)+j));}printf("\n");}}void printfDouble1Dimension(int n, double *array){int i;for(i=0;i<n;i++){printf("%6.2lf",*(array+i));}printf("\n");}//打印⼆维数组void printfInt2Dimension(int s, int n, int **array){int i,j;for(i=0;i<s;i++){for(j=0;j<n;j++){printf("%4d",*(*(array+i)+j));}printf("\n");}}//打印⼀维数组void printfInt1Dimension(int n, int *array){int i;for(i=0;i<n;i++){printf("%4d",*(array+i));}printf("\n");}View Code。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1 4
1
r1
- 2r2
0
0 1
-2 2
-5 3 4
r2
(-3)
0
0
0
3 0
3
0 0 0 0
即得与原方程组同解的方程组
x1 x2
2 2
x3 x3
5
3 4
3
x4 x4
0, 0,
由此即得
x1 x2
2
x3
5 3
x4
,
-2
x3
-
4 3
x4
,
( x3 , x4 可任意取值).
令 x3 c1, x4 c2,把它写成通常的参数形式
x4 0 - 2x4
0
.
x1 - x2 - 4 x3 - 3 x4 0
解 对系数矩阵 A 施行初等行变换:
1 A 2
1
2 1 -1
2 -2 -4
1 - 2 - 3
r2 r3
-
2r1 r1
1 0 0
2 -3 -3
2 -6 -6
1 - 4 - 4
r3 - r2
1 0
2 1
2 2
即( AX1, AX2 ,L AXn ) (b1,b2 ,L bn ) 所以等价于AXi bi ,i 1,2,L n. () : 若R( A) R( AMB), ( AMB) ( A,b1,b2,L bn ), 又R( A) R( AMbi ) R( AMB), R( A) R( AMbi ) 由定理2知,存在X i ,使得AX i bi 故存在X ,使得AX B
求出它的一切解.
解证 对增广矩阵B进行初等变换, 方程组的增广矩阵为
1 - 1 0 0 0 a1
0 1 - 1 0 0 a2
B 0
0
1
-1
0
a3
0 0 0 1 - 1 a4
- 1 0 0 0 1 a5
1 - 1 0 0 0 0 1 -1 0 0
a1 a2
RA RB
~
0
x1
2c1
5 3
c2 ,
x2
பைடு நூலகம்
-2c1
-
4 3
c2 ,
x3 c1,
x4 c2,
5
x1 x2 x3 x4
c1
2 -2 1 0
c2
3 -4
3 0
1
.
例2 求解非齐次线性方程组
x1 3 x1
2 -
x2 x2
3x3 5x3
-
x4 3 x4
1,
例3 求解非齐次方程组的通解
x1 x1
-
x2 x2
x3 x3
-
x4 0 3x4 1
.
x1 - x2 - 2x3 3x4 -1 2
解 对增广矩阵B进行初等变换
1 - 1 - 1 1 0 1 - 1 - 1 1 0 B 1 -1 1 - 3 1 ~ 0 0 2 - 4 1
1 - 1 - 2 3 - 1 2 0 0 - 1 2 - 1 2
设 RA RB rr n,
则 B 的行阶梯形矩阵中含 r 个非零行,
把这 r 行的第一个非零元所对应的未知量作为 非自由未知量,
其余n - r个作为自由未知量,
并令 n - r个自由未知量全取0,
即可得方程组的一个解.
证毕
小结 RA RB n Ax b有唯一解
RA RB n Ax b有无穷多解.
2,
2x1 x2 2x3 - 2x4 3.
解 对增广矩阵B进行初等变换,
1 B 3
-2 -1
3 5
-1 -3
1 2
r2 - 2r1 1
r3
-
r1
0
-2 5
3 -4
-1 0
1 - 1
2 1 2 - 2 3 r3 - r2 0 50 -04 0 12
显然,R( A) 2, R(B) 3, 故方程组无解.
定理2 n 元非齐次线性方程组 Amn X b 有解 的充分必要条件是系数矩阵 A的秩等于增广矩
阵 B A,b 的秩.
证 必要性.设方程组 AX b 有解, 显然R( A) R( AMb) R(B), 对B实施初等列变换可得( AMO),
因此 RA RB.
充分性. 设 RA RB,
Dn所对应的 n个方程只有零解 根据克拉默定理 ,
这与原方程组有非零解相矛盾,
R( A) n 不能成立. 即 RA n. 充分性. 设 RA r n,
则 A 的行阶梯形矩阵只含 r 个非零行, 从而知其有 n - r 个自由未知量 . 任取一个自由未知量为1,其余自由未知量为0, 即可得方程组的一个非零解.
0
0 0
1 -1 0 0 1 -1
a3
a4
5
ai 0
i 1
5
0 0 0 0 0 ai
i1
5
方程组有解的充要条件是 ai 0.
i 1
x1 - x2 a1
由于原方程组等价于方程组
x2 x3
-
x3 x4
a2 a3
由此得通解:
x4 - x5 a4
x1 a1 a2 a3 a4 x5
定义:方程组的含有参数的任一解,称为线性 方程组的通解.
齐次线性方程组:系数矩阵化成行最简形矩阵, 便可写出其通解;
非齐次线性方程组:增广矩阵化成行阶梯形矩 阵,便可判断其是否有解.若有解,化成行最 简形矩阵,便可写出其通解;
二、线性方程组的解法
例1 求解齐次线性方程组
x1 2 x1
2x2 x3 x2 - 2x3
1 - 1 0 - 1 1 2 ~ 0 0 1 - 2 1 2.
0 0 0 0 0
由于RA RB 2, 故方程组有解,且有
x1 x2 x4 1 2
x1 x3
x2 x4 1 2x4 1 2
2
x2 x3
x2 0 x4 0x2 2x4
1
2
x4 0 x2 x4
x2 a2 a3 a4 x5 x3 a3 a4 x5
x4 a4 x5
x5为任意实数 .
定理3 矩阵方程AX B有解的充要条件是
R( A) R( AMB) 证:设 Ams X sn Bmn , 对X、B按列分块,得
X ( X1, X 2 ,L X n ), B (b1,b2 ,L bn ), 则AX B等价于A( X1, X2,L Xn ) (b1,b2,L bn )
所以方程组的通解为
x1 1 0 1 2
x2 x3 x4
x2
1 0
0
x4
0 2 1
102 .
0
其中x2 , x4任意.
x1 - x2 a1
例4
证明方
程组
x2 x3
-
x3 x4
a2 a3
x4
-
x5
a4
x5 - x1 a5
有解的充要条件
是a1 a2 a3 a4 a5 0.在有解的情况下,
一、线性方程组有解的判定条件
问题:如何利用系数矩阵 A 和增广矩阵 B 的秩, 讨论线性方程组 Ax b 的解.
定理1 n 元齐次线性方程组 Amn X 0 有非零解
的充分必要条件是系数矩阵的秩 R A n.
证 必要性. 设方程组 Ax 0 有非零解,
设RA n,则在A中应有一个n阶非零子式Dn,从而