初等行变换
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
初等行变换
一、基本理论
设A 为m n ⨯矩阵, 可对A 实施以下三类初等行变换,将A 化为行阶梯矩阵和最简行阶梯矩阵.
(1)将A 的第i 行与第j 行交换位置;
(2)将A 的第i 行乘以非零常数λ;
(3)将A 的第i 行的λ倍加到第j 行.
行阶梯矩阵: 若A 的每个非零行上方没有非零行, 且每个非零行从左到右第一个非零元,j i i a 所在列号满足1
2r i i i <<< .
最简行阶梯矩阵: 若行阶梯矩阵
A 的每个阶梯元为1,且阶梯元所在列的其余元素都为零,则称A 为最简行阶梯矩阵.
二、Matlab 实现
由于需要反复使用三种初等行变换,所以将它们写成函数文件,方便以后调用.
1. 将第i 行和第j 行交换位置
2. 将第i 行乘以常数c
3. 将第i 行的c 倍加到第j 行
将以上三个函数文件保存到某个目录下, 例如 D:\myfunc 下,然后在Matlab 的File 菜单, Set Path, Add Folder ,将D:\myfunc 添加到 Matlab 的搜索路径, Save, Close. 即可在Matlab 中调用这三个函数.
三、例子
例. 将111421931A ⎛⎫ ⎪= ⎪ ⎪⎝⎭
用初等行变换化为行阶梯矩阵和最简行阶梯矩阵. 解. 生成矩阵A
A=sym('[1 1 1; 4 2 1; 9 3 1]')
A =
[ 1, 1, 1]
[ 4, 2, 1]
[ 9, 3, 1]
将A 的第1行的(-4)倍加到第2行,结果保存到矩阵B :
B=rowcomb(A, 1, 2, -4)
B =
[ 1, 1, 1]
[ 0, -2, -3]
[ 9, 3, 1]
将B 的第1行的(-9)倍加到第3行,结果仍保存到矩阵B
B=rowcomb(B, 1, 3, -9)
B =
[ 1, 1, 1]
[ 0, -2, -3]
[ 0, -6, -8]
将B 的第2行的(-3)倍加到第3行
B=rowcomb(B, 2, 3, -3)
B =
[ 1, 1, 1]
[ 0, -2, -3]
[ 0, 0, 1]
B 已经为行阶梯矩阵. 即A 可通过初等行变换化成行阶梯矩阵
111023001⎛⎫ ⎪-- ⎪ ⎪⎝⎭
继续将B 化成最简行阶梯矩阵.
将第3行的3倍加到第2行
B=rowcomb(B,3,2,3)
B =
[ 1, 1, 1]
[ 0, -2, 0]
[ 0, 0, 1]
将第3行的(-1)倍加到第1行
B=rowcomb(B,3,1,-1)
B =
[ 1, 1, 0]
[ 0, -2, 0]
[ 0, 0, 1]
将第2行乘以(-1/2)倍
B=rowscale(B,2,-1/2)
B =
[ 1, 1, 0]
[ 0, 1, 0]
[ 0, 0, 1]
将第2行的(-1)倍加到第1行
B=rowcomb(B,2,1,-1)
B =
[ 1, 0, 0]
[ 0, 1, 0]
[ 0, 0, 1]
B 已经为最简行阶梯矩阵. 即A 可通过初等行变换化成如下最简行阶梯矩阵 100010001⎛⎫ ⎪ ⎪ ⎪⎝⎭
注:也可直接调用Matlab 函数 rref(A), 直接将A 化成最简行阶梯矩阵 R=rref(A)
R =
[ 1, 0, 0]
[ 0, 1, 0]
[ 0, 0, 1]
四、练习
(1)通过初等行变换将下面的矩阵A 化为行阶梯矩阵及最简行阶梯矩阵.
2341253615A --⎛⎫ ⎪= ⎪ ⎪⎝⎭
(2)通过初等行变换将下面的矩阵A 化为行阶梯矩阵及最简行阶梯矩阵.
21112112144622436979A --⎛⎫ ⎪- ⎪= ⎪-- ⎪--⎝⎭