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

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

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

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

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

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

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

@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


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

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

от lori_jast , 2 года назад

@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.