Хотя это не заговор, возможно, это также то, что вы можете использовать. Если вы хотите, чтобы определить, одновременное решение этих уравнений, рассмотреть вопрос об использовании solve
syms x y z
A = solve('x + y + 4*z == -1', '-2*x - y + z == -5', '3*x - 2*y + 3*z == -4')
disp([A.x A.y A.z]);
[ 1, 2, -1]
Это будет проверять, правильно ли ваш Гаусс-Жордан. Если вам не нравится использовать solve
, вы можете использовать линейную алгебру, чтобы помочь вам решить эту проблему. Просто поместите коэффициенты для своей системы в матрицу и вектор, затем найдите обратную матрицу и умножьте ее на вектор.
A = [1 1 4; -2 -1 1; 3 -2 3];
b = [-1;-5;-4];
x = A \ b
x =
1.0000
2.0000
-1.0000
... и даже другой способ заключается в использовании rref
уменьшить вашу систему в строке восстановленной формы ступенчатой. Это было бы результатом после успешного применения исключения Гаусса-Иордана в вашей линейной системе. Таким образом:
A = [1 1 4; -2 -1 1; 3 -2 3];
b = [-1;-5;-4];
rref([A b])
ans =
1 0 0 1
0 1 0 2
0 0 1 -1
Чтение ответ выше, x = 1
, y = 2
, z = -1
. Это представляет собой расширенную систему, в которой первые 3 столбца обозначают коэффициенты вашей системы, а четвертый столбец обозначает правую часть вашей линейной системы уравнений.
+1 - Magnifique! – rayryeng
Merci beaucoup! –