八度运算符\错误

Octave operator \ error

我在 GNU Octave 工作,我需要求解以下等式:A*x=b(A、x、b 是矩阵)。

A = [1 1; 2 1];
b = [1, 2];

所以我正在 x = A \ b 根据我的指导方针。但是我得到一个错误:

operator \: nonconformant arguments (op1 is 2x2, op2 is 1x2)

我明白这意味着什么,但不知道如何解决这个问题。我已经试过了 inv(A) * b.


顺便说一句,它在 matlab 中完美运行。这是我的脚本:

A = input('Enter A');
b = input('Enter b');
x = A \ b;
display(x);

问题在于 b 的维度,它应该是列而不是行。

x = A\b.';
% or for clarity
x = A\transpose(b);

编辑:

如果您再次使用 inv,您需要使用正确的尺寸:

x = inv(A)*b.';
% or for clarity
x = inv(A)*transpose(b);