ММвХТ экзамен. Метод наименьших квадратов
![]()
|
Метод наименьших квадратов.
Требуется найти уравнение прямой
наилучшим образом согласующейся с опытными точками. Пусть мы нашли такую прямую. Обозначим через ![]() Из уравнения y=ax+b следует, что
Чем меньше числа ![]()
Покажем, как можно подобрать прямую y=ax+b так, чтобы сумма квадратов S была минимальной. Из уравнений ( ![]() ![]()
Условия минимума S будут
Уравнения выше можно записать в таком виде:
![]()
Умножим левую и правую части каждого из этих уравнений на коэффициент при первой неизвестной a (т.е. на x1, x2, ..., xn) и сложим полученные уравнения, в результате получится первое нормальное уравнение ![]() Умножим левую и правую части каждого из этих уравнений на коэффициент при второй неизвестной b, т.е. на 1, и сложим полученные уравнения, в результате получится второе нормальное уравнение ![]() Этот способ получения нормальных уравнений является общим: он пригоден, например, и для функции
Естественно, что здесь получится система из n+1 нормального уравнения для определения величин a0, a1, a2, ..., an. Рассмотрим частный случай применения метода наименьших квадратов. Пусть из теории известно, что
есть величина постоянная и ее нужно определить по опытным данным. Систему уравнений для k можно записать
Для получения нормального уравнения умножим каждое из этих уравнений на коэффициент при неизвестной k, т.е. на 1, и сложим полученные уравнения
отсюда
Следовательно, среднее арифметическое, полученное из опытных отношений yi/xi, дает решение поставленной задачи по методу наименьших квадратов. Это важное свойство средней арифметической объясняет ее широкое применение в практике обработки опытных данных. Оценка точности метода наименьших квадратов Дадим оценку точности метода для линейного случая, когда имеет место уравнение y=ax+b. Пусть опытные значения xi являются точными, а опытные значения yi имеют случайные ошибки с одинаковой дисперсией ![]() Введем обозначение
Тогда решения нормальных уравнений можно представить в виде
Уравнения ( ![]() ![]() Численные методы поиска минимума функции одной переменной. Функция f(x) имеет локальный минимум при некотором ![]() ![]() ![]() Точка, в которой функция достигает наименьшего на множестве X значения, называется абсолютным минимумом функции. Для нахождения абсолютного минимума требуется найти все локальные минимумы и выбрать наименьшее значение. Задачу называют детерминированной, если погрешностью вычисления (или экспериментального определения) функции f(x) можно пренебречь. В противном случае задачу называют стохастической. Все изложенные далее методы применимы только к детерминированным задачам. Численные методы поиска минимума функции нескольких переменных. Будем рассматривать методы поиска минимума ![]() ![]() ![]() Решение уравнений графическим методом. Например, для нахождения температуры кипения жидкой смеси, состоящей из двух компонентов, можно воспользоваться следующим уравнением: Р = ехр(A1 - B1/(t+C1+273.15)) x1 + ехр(A2 – B2/(t + C1 + 273.15)) x2, где x1- и x2 - мольные доли компонентов в смеси. Выразить переменную t из уравнения в явном виде сложно. Однако решение может быть легко получено при помощи численных методов. В общем случае нелинейное алгебраическое уравнение можно записать в виде: F(x) = 0, где функция F(x) определена и непрерывна на конечном или бесконечном интервале [а, b]. Любое уравнение можно преобразовать в функцию вида F(x)=0. Для этого всю правую часть уравнения (часть правее знака равенства) следует перенести влево. Принимая во внимание, что действительные корни уравнения F(x) = 0 - это точки пересечения графика функции F(x) с осью абсцисс, достаточно построить график функции F(x) и отметить точки пересечения F(x) с осью Ох, или отметить на оси Ох отрезки, содержащие по одному корню. К примеру, уравнение Р = ехр(A1 - B1/(t+C1+273.15)) x1 + ехр(A2 – B2/(t + C1 + 273.15)) x2, можно преобразовать в следующую функцию y(t) y(t) = P - ехр(A1 - B1/(t+C1+273.15)) x1 - ехр(A2 – B2/(t + C1 + 273.15)) x2. Значение переменной t, при котором функция y(t) равняется нулю, и будет температурой кипения смеси. Отделение корней. Например, для нахождения температуры кипения жидкой смеси, состоящей из двух компонентов, можно воспользоваться следующим уравнением: Р = ехр(A1 - B1/(t+C1+273.15)) x1 + ехр(A2 – B2/(t + C1 + 273.15)) x2, где x1- и x2 - мольные доли компонентов в смеси. Выразить переменную t из уравнения в явном виде сложно. Однако решение может быть легко получено при помощи численных методов. В общем случае нелинейное алгебраическое уравнение можно записать в виде: F(x) = 0, где функция F(x) определена и непрерывна на конечном или бесконечном интервале [а, b]. Нелинейные уравнения с одним неизвестным подразделяются на алгебраические и трансцендентные. Уравнение F(x) = 0 называется алгебраическим, если функция является алгебраической функцией. Всякое алгебраическое уравнение имеет, по крайней мере, один корень вещественный или комплексный. Если функция F(x) не является алгебраической, то уравнение F(x) = 0 называется трансцендентным. В некоторых случаях решение трансцендентных уравнений можно свести к решению алгебраических уравнений. Поскольку подавляющее большинство нелинейных уравнений с одной переменной не решается путем аналитических преобразований (точными методами), на практике их решают только численными методами. Решить такое уравнение — это значит установить, имеет ли оно корни, сколько корней, и найти значения корней с заданной точностью. Задача численного нахождения действительных и комплексных корней уравнения F(x) = 0 обычно состоит из двух этапов: отделение корней, т. е. нахождение достаточно малых окрестностей рассматриваемой области, в которых содержится одно значение корня, и уточнение корней, т. е. вычисление корней с заданной степенью точности в некоторой окрестности. Для отделения корней могут быть использованы как графические методы решения уравнений, так и специальные алгоритмы. Решение уравнений аналитическими методами. Решить любое уравнение y(x)=0 можно аналитически, символьно или с помощью встроенных стандартных функций. Для этого в SMath Studio предназначены следующие функции. Функцию polyroots (возвращает корни полинома, заданного вектором его коэфициентов) можно использовать для нахождения корней полинома степени n, имеющего вид anxn + ... + a2x2 +a1x + a0. Эта функция не требует начального приближения и возвращает сразу все n корней, как вещественные, так и комплексные. Коэффициенты полинома находятся в векторе A длины n + 1, который задается в качестве параметра функции polyroots(A) Решение уравнения с помощью данной функции представлено на рис. 6 ![]() Рис. 6 |