Октавный оператор \ ошибка
Я работаю в 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 ответ
Решение
Проблема с размером b
это должны быть столбцы, а не строки.
x = A\b.';
% or for clarity
x = A\transpose(b);
Редактировать:
Если вы используете inv
опять же нужно использовать правильные размеры:
x = inv(A)*b.';
% or for clarity
x = inv(A)*transpose(b);