我对手动RREF给定矩阵有疑问。所以我部分地完成了它,但我无法弄清楚从哪里开始。谢谢!
M = [1 0 2 1 18;
0 -3 -2 0 -8;
-2 -3 0 0 -41;
1 0 -1 1 16];
M2=M;
M2(3,:) = M2(3,:)+(2*M2(1,:));
M2(4,:) = M2(4,:)-M2(1,:);
M3 = M2;
M3(3,:) = M3(3,:)+M3(2,:);
M3(3,:) = M3(3,:)-M3(2,:);
M3(3,:) = M3(3,:)-M3(2,:);
M3(2,:) = (-1/3)*M3(2,:)
结束我最终
[1 0 2 1 18;
0 1 .6667 0 2.6667;
0 0 6 2 3;
0 0 -3 0 -2]
答案 0 :(得分:0)
选择你离开的地方:
x = [1 0 2 1 18; 0 1 .6667 0 2.6667; 0 0 6 2 3; 0 0 -3 0 -2];
x(3,:) = x(3,:) / 6;
x(1,:) = x(1,:) - 2 * x(3,:);
x(2,:) = x(2,:) - 2/3 * x(3,:);
x(4,:) = x(4,:) + 3 * x(3,:);
x(1,:) = x(1,:) - 1/3 * x(4,:);
x(2,:) = x(2,:) + 2/9 * x(4,:);
x(3,:) = x(3,:) - 1/3 * x(4,:);
与rref(x)
类似,这会产生:
x =
1.0000 0 0 0.0000 17.1667
0 1.0000 0.0000 0 2.2223
0 0 1.0000 0 0.6667
0 0 0 1.0000 -0.5000
如果你想知道它们之间的所有步骤,这是一种方便的方法,但显然使用rref
函数通常更好地找到减少的行梯形形式。
请注意,如果您在matlab中执行所有步骤而不是复制.6667
之类的值,则不会发生舍入问题。