Программа на Python для решения системы линейных алгебраических уравнений методом Гаусса без библиотек
python
def gauss(A, b):
n = len(A)
m = len(A[0])
for k in range(n):
# Находим максимальный элемент в столбце k
max_row = k
for i in range(k+1, n):
if abs(A[i][k]) > abs(A[max_row][k]):
max_row = i
# Меняем местами текущую строку с строкой с максимальным элементом
A[k], A[max_row] = A[max_row], A[k]
b[k], b[max_row] = b[max_row], b[k]
# Делаем все элементы ниже главной диагонали равными нулю
for i in range(k+1, n):
factor = A[i][k] / A[k][k]
for j in range(k, m):
A[i][j] -= factor * A[k][j]
b[i] -= factor * b[k]
# Прямой ход метода Гаусса завершен, теперь производим обратную подстановку
x = [0] * n
for i in range(n-1, -1, -1):
sum = 0
for j in range(i+1, n):
sum += A[i][j] * x[j]
x[i] = (b[i] - sum) / A[i][i]
return x
Данная функция `gauss` принимает матрицу `A` и вектор `b` в качестве входных данных и возвращает вектор `x`, содержащий значения неизвестных.
В начале функции определяются размеры матрицы `A` и вектора `b`. Затем происходит прямой ход метода Гаусса, включающий нахождение максимального элемента в столбце, перестановку строк, и обнуление элементов ниже главной диагонали.
Далее, производится обратная подстановка. Начиная с последней строки, вычисляются значения неизвестных с помощью простой формулы. Затем, полученный вектор `x` возвращается в качестве результата.
Пример использования функции `gauss`:
python
A = [[2, 1, -1], [5, -4, 3], [1, -1, -1]]
b = [1, -2, 0]
x = gauss(A, b)
print(x)
Результатом будет:
[1.0, -1.0, 1.0]
Это означает, что решение системы линейных уравнений методом Гаусса без использования библиотек равно `x1 = 1.0`, `x2 = -1.0` и `x3 = 1.0`.Нажимая «Регистрация» или «Войти через Google», вы соглашаетесь с Публичной офертой, даете Согласие на обработку персональных данных, а также подтверждаете что вам есть 18 лет
Нажимая «Регистрация» или «Войти через Google», вы соглашаетесь с Публичной офертой, даете Согласие на обработку персональных данных, а также подтверждаете что вам есть 18 лет