八度运算符\错误

时间:2016-11-11 18:40:57

标签: matlab matrix octave division

我在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);

1 个答案:

答案 0 :(得分:2)

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

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

修改

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

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