Решите систему линейных уравнений

Этот раздел показывает вам, как решить систему линейных уравнений с помощью Symbolic Math Toolbox™.

Решите Систему Линейных уравнений Используя linsolve

Система линейных уравнений

a11x1+a12x2++a1nxn=b1a21x1+a22x2++a2nxn=b2am1x1+am2x2++amnxn=bm

может быть представлен как матричное уравнение Ax=b, где A является матрицей коэффициентов,

A=(a11a1nam1amn)

и b вектор, содержащий правые стороны уравнений,

b=(b1bm)

Если у вас нет системы линейных уравнений в форме AX = B, используйте equationsToMatrix, чтобы преобразовать уравнения в эту форму. Рассмотрите следующую систему.

2x+y+z=2x+yz=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, если у вас есть уравнения в форме выражений и не матрицы коэффициентов. Рассмотрите ту же систему линейных уравнений.

2x+y+z=2x+yz=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 возвращает решения в массиве структур. Чтобы получить доступ к решениям, индексируйте в массив.

Похожие темы