Как решить матричное уравнение в matlab?

Пользователь

от gussie.jones , в категории: Другие , год назад

Как решить матричное уравнение в matlab?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

1 ответ

Пользователь

от cade , год назад

@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


Выбирайте подходящий вам способ