MATLAB中的线性变换矩阵

计算科学 matlab 矩阵
2021-12-19 18:02:25

如何在 matlab 中确定矩阵,以便在给定已知系数矩阵情况下返回其行缩减梯形形式?显然,我需要一个也适用于未完全排名的矩阵的算法/函数。 RA

RA=rrefA
我不知道如何处理这个...请任何人帮助我吗?非常感谢!:)

3个回答

尝试这个!此处的示例具有 3x3 矩阵的等级 2。

A = [1 1 1; 2 2 2; 5 7 6];
rrefA = rref(A);

disp(rrefA) % rref of A

C=[A eye(size(A))];

rrefC = rref(C);

R=rrefC(:,4:6); 
disp(R*A) % should get rref of A
disp(R)

我仍然无法理解这个有什么好处,但在 matlab 中你可以简单地(ab)使用斜杠运算符:R

>> [rrefA, jb] = rref(A);
>> R = rrefA(:,jb)/A(:,jb);

这是一个示例,表明此方法也适用于非方阵:

>> A = randn(10,3)*randn(3,4);
>> rank(A)

ans =

     3

>> size(A)

ans =

    10     4

>> [rrefA, jb] = rref(A);
>> R = rrefA(:,jb)/A(:,jb);
>> rank(R)

ans =

     3

>> norm(R*A-rrefA)/norm(A)

ans =

   1.7351e-15

请注意,这个答案只是代码高尔夫:减少排梯队形式不是最稳定的等级揭示因式分解,正如上面克里斯蒂安克拉森所指出的那样。

你可以解方程R,然后使用结果项:

R=rref(A)A1