使用MATLAB对矩阵进行初等行变换: 输入矩阵:
>> M = [0 3 6 9; -1 1 -2 -1]
M =
0 3 6 9
-1 1 -2 -1
>> A=M
A =
0 3 6 9
-1 1 -2 -1
>> A([1,2],:)=A([2,1],:) //交换A矩阵的第一列第二列位置
A =
-1 1 -2 -1
0 3 6 9
>> A(2,:)=A(2,:)/3 //把A的第二行元素除以3
A =
-1 1 -2 -1
0 1 2 3
>> A(1,:)=A(1,:)-A(2,:) //A的第一行元素减第二行元素
A =
-1 0 -4 -4
0 1 2 3
>> A(1,:)=-A(1,:) //A的第一行元素乘以-1
A =
1 0 4 4
0 1 2 3
//这样A就变成了简化阶梯阵了。
给出线性方程组的增广矩阵,求其通解: 可以使用函数rref(矩阵)把矩阵化简为简化阶梯阵:
>> B=[3 -4 2 0; -9 12 -6 0;-6 8 -4 0] //设置矩阵
B =
3 -4 2 0
-9 12 -6 0
-6 8 -4 0
>> rref(B) //直接使用矩阵化简函数 rref(矩阵) 即可完成初等行变换。
ans =
1.0000 -1.3333 0.6667 0
0 0 0 0
0 0 0 0
如上面的例子A:
>> rref(A)
ans =
1 0 4 4
0 1 2 3
使用分数(式)形式表示结果:命令format rat—如果想转回小数表示,使用命令format long;如果觉得小数位数太多了可以用format short。 另外,紧凑形式:format compact,减少空白行的现实模式;长尾数的科学计数法表示:format long e,科学计数法表示,保留15位尾数。
>> format rat
>> B=[3 -4 2 0; -9 12 -6 0;-6 8 -4 0]
B =
3 -4 2 0
-9 12 -6 0
-6 8 -4 0
>> ref(B)
ans =
1 -4/3 2/3 0
0 0 0 0
0 0 0 0
|