Метод наименьших квадратов в NumPy
Если уравнений больше, чем
неизвестных, система обычно
несовместна. lstsq из
linalg подбирает столбец,
минимизирующий сумму квадратов
ошибок.
Функция возвращает кортеж, решение лежит в первом элементе. Ответ не обязан точно удовлетворять каждому уравнению. Рассмотрим малую перопределённую систему и выведем только вектор ответа:
import numpy as np
a = np.array([[1., 1.], [1., 2.], [1., 3.]])
b = np.array([2., 3., 4.])
x, _, _, _ = np.linalg.lstsq(a, b, rcond=None)
print(x) # выведет [1. 1.]
Для таблицы коэффициентов
[[1., 0], [1., 1], [1., 2]]
и правых частей [1., 2., 2.]
выведите только вектор решения.
Для трёх уравнений с двумя
неизвестными, где первый столбец
коэффициентов везде 1,
второй 0, 2, 4,
а правые части 1, 2,
4, выведите вектор решения.