В этом разделе показано, как решить систему линейных уравнений с помощью Symbolic Math Toolbox™.
Система линейных уравнений
может быть представлена в виде матричного уравнения , где A - матрица коэффициентов,
и - вектор, содержащий правые стороны уравнений,
Если у вас нет системы линейных уравнений в виде AX = B
, использование equationsToMatrix
для преобразования уравнений в эту форму. Примите во внимание следующую систему.
Объявить систему уравнений.
syms x y z eqn1 = 2*x + y + z == 2; eqn2 = -x + y - z == 3; eqn3 = x + 2*y + 3*z == -10;
Использовать equationsToMatrix
для преобразования уравнений в форму AX = B
. Второй вход в equationsToMatrix
задает независимые переменные в уравнениях.
[A,B] = equationsToMatrix([eqn1, eqn2, eqn3], [x, y, z])
A = [ 2, 1, 1] [ -1, 1, -1] [ 1, 2, 3] B = 2 3 -10
Использовать linsolve
для решения AX = B
для вектора неизвестных X
.
X = linsolve(A,B)
X = 3 1 -5
Из X
, x = 3, y = 1 и z = -5.
Использовать solve
вместо linsolve
если у вас есть уравнения в виде выражений, а не матрицы коэффициентов. Рассмотрим ту же систему линейных уравнений.
Объявить систему уравнений.
syms x y z eqn1 = 2*x + y + z == 2; eqn2 = -x + y - z == 3; eqn3 = x + 2*y + 3*z == -10;
Решить систему уравнений используя solve
. Входы solve
являются вектором уравнений и вектором переменных, для решения уравнений.
sol = solve([eqn1, eqn2, eqn3], [x, y, z]); xSol = sol.x ySol = sol.y zSol = sol.z
xSol = 3 ySol = 1 zSol = -5
solve
возвращает решения в массиве структур. Для доступа к решениям индексируйте в массив.