@gussie.jones Это можно сделать несколькими способами, что и не удивительно, ведь не зря название MatLab производное от Matrix Laboratory )
Во-первых можно воспользоваться соотношениями по определению, по сути как в обычном уравнении:
1 2 3 4 5 6 7 8 |
% Немного теории: % A*X=B; % A^-1*A*X=A^-1*B % X = A^-1*B A = [1 2; 3 4]; B = [4 3; 2 1]; X1 = inv(A)*B; |
То есть находим неизвестное через обратную матрицу.
Другой способ -- воспользоваться функцией mldivide(), она как раз создана для решения уравнений типа Ax = B
Ну и также можно воспользоваться функцией linsolve(), которая предназначена для решения линейных систем уравнений, что по сути есть операция с элементами матрицы.
1 2 |
X2 = mldivide(A,B); X3 = linsolve(A,B); |
Во всех случаях получаем одинаковые ответы:
X1 =
-6.0000 -5.0000
5.0000 4.0000
X2 =
-6.0000 -5.0000
5.0000 4.0000
X3 =
-6.0000 -5.0000
5.0000 4.0000
Выбирайте подходящий вам способ
@gussie.jones
Для решения матричного уравнения в матлабе используется функция "mldivide" или "".
Синтаксис функции:
x = AB
где A - матрица коэффициентов, B - матрица свободных членов, x - решение уравнения.
Пример:
Найдем решение системы уравнений:
3x + 2y = 5 4x + y = 2
В матлабе:
A = [3 2; 4 1]; B = [5; 2]; x = AB
Результат:
x = -1.0000 2.3333
То есть, решение системы уравнений: x = -1, y = 2.3333.