具有符号变量和 rref 的增广矩阵

Augmented matrix with symbolic variables and rref

看看

syms x y z
A=[1 -2 x;2 1 y;-3 1 z]
rref(A)

这是一个增广矩阵,我需要最终输出为

1  0  | (x+2y)/5
0  1  | (y-2x)/5
0  0  | z+x+y

但是 rref() 产生了这个

1  0  0
0  1  0
0  0  1

有什么关于如何获得预期输出的建议吗?

只要将符号变量限制在增广矩阵的右半部分,就可以进行如下操作。假设 [A|B] 是您的增广矩阵。然后,您可以执行以下操作。

M = rref([A, eye(size(A,1))]);
C = M(:,(size(A,2)+1):end) * B;

在这种情况下,C 是将 M 带到其 RREF 的行操作应用于符号矩阵 B 的结果。


这是一个可以产生您最初预期结果的修改。

syms x y z
A=[1 -2;2 1;-3 1];
B=[x;y;z];

[m,n] = size(A);
M = [eye(m),zeros(m,n)];
M(:,1:n) = A;
M(:,(m+1):end) = eye(m,n);
P = M(:,n+1:end);

R = rref(M);
C = R(:,n+1:end)/P*B;

disp(C)

结果:

 x/5 + (2*y)/5
 y/5 - (2*x)/5
     x + y + z