Тема: Метод наименьших квадратов. Суть: Даны 2 точки: (x1;y1) и (x2;y2), необходимо найти прямую, которая проходит через эти точки. Общий вид уравнения: y = ax + b, нужно найти коэффициенты a и b. ------------------------------------------------ Способ I. Матрицами ------------------------------------------------------------------ Дана система уравнений: ax1 + b = y1 ax2 + b = y2 Точки даны, т.е. мы знаем x и y. Остается найти a и b. Для этого нужно составить несколько матриц: | x1 1 | матрица X = | x2 1 |
| a |
матрица коэфициэнтов К = | b |
| y1 |
матрица Y = | y2 |
Формула для нахождения матрицы коэфициентов такая:
K = ((X^t * X)^(-1) * X^t * Y
где ^t - транспонированная матрица, т.е. строки превращаются в столбцы и наоборот, у нас:
| x1 x2 |
X^t = | 1 1 |
^(-1) - обратная матрица, то есть X^(-1) - это такая матрица, которая при умножении на X дает единичную матрицу E (главная диагональ - 1, остальные - 0) Как найти обратную матрицу: например для | x1 e |
-
X =| x2 s | = x1s - x2e = Оp - нашли определитель матрицы (если = 0, выдаем ошибку, решения нет)
-
Находим матрицу миноров - элементы меняются местами, для 2х2 меняется так: | s x2 | M =| e x1 |
-
Находим матрицу алгебраических дополнений: для этого нужно элементы 1.2 и 2.1 умножить на (-1): | s -x2 | X* = | -e x1 |
-
Транспонируем матрицу A* (переворачиваем): |s -e | X*^t = |-x2 x1 |
-
Находим обратную матрицу по формуле:
X^(-1) = (1/Op) * X*^t
Делаем всю эту фигню, подставляем значения в формулу нахождения матрицы коэфициэнтов, получаем матрицу коэфициентов, а следовательно и ответ.
------------------------------------------------------------------------- Способ II. -------------------------------------------------------------- будет позже, если надо