2013-04-10 75 views
0

我有关于手动RREF'给定矩阵的问题。所以我部分解决了这个问题,但我无法弄清楚从哪里出发。谢谢!MatLab中矩阵的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

你只对最终结果感兴趣吗?如果是后者,那么这个问题更适合[math.stackexchange.com](http://math.stackexchange.com)。 – 2013-04-11 11:03:37

+0

您是否发现以下答案有帮助? – 2013-05-28 13:24:52

回答

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 

这是一个方便的方法来做到这一点,如果你wa nt来了解其中的所有步骤,但显然使用rref函数通常更适合查找缩减的行梯形式。

请注意,如果您在matlab中执行所有步骤而不是复制像.6667这样的值,则不会发生舍入问题。