В этом разделе показано, как решить систему линейных уравнений с помощью символьного математического Toolbox™.
Система линейных уравнений
+a2nxn=b2⋯am1x1+am2x2+... + amnxn = bm
может быть представлено в виде матричного уравнения , где A - матрица коэффициентов,
a1n⋮⋱⋮am1⋯amn)
и - вектор, содержащий правые стороны уравнений,
)
Если в форме отсутствует система линейных уравнений AX = B, использовать equationsToMatrix для преобразования уравнений в эту форму. Рассмотрим следующую систему.
= 3x + 2y + 3z = − 10
Объявите систему уравнений.
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 при наличии уравнений в виде выражений, а не матрицы коэффициентов. Рассмотрим ту же систему линейных уравнений.
= 3x + 2y + 3z = − 10
Объявите систему уравнений.
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 возвращает решения в массиве структуры. Чтобы получить доступ к решениям, выполните индексирование в массив.