МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ

ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ БЮДЖЕТНОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ

ВЫСШЕГО ПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯ

НАЦИОНАЛЬНЫЙ МИНЕРАЛЬНО-СЫРЬЕВОЙ УНИВЕРСИТЕТ

«ГОРНЫЙ»

Кафедра АТПП

Математические методы обработки данных

Лабораторная работа № 2

ОБРАБОТКА ЭКСПЕРИМЕНТАЛЬНЫХ ДАННЫХ ПО МЕТОДУ ГАИМЕНЬШИХ КВАДРАТОВ

Выполнил: студент гр.АПМ-13 ____ __________ / Озеров Б.А. /

(подпись) (Ф.И.О.)

Проверил: доцент ­­­­­___________ / Иванов П.В. /

(подпись) (Ф.И.О.)

Санкт-Петербург

Цель работы: изучение практических приемов нахождения коэффициентов линейных и нелинейных регрессионных зависимостей и оценки точности аппроксимации с использованием программной среды MathCad.

Линейная аппроксимация.

Дано:

Способы аппроксимации:

line ;

2) решение системы линейных уравнений с помощью конструкции Given – Find .

Выполнение задания:

1) решение системы линейных уравнений, используя функцию line.

Делаем матрицу данных нам величин, а именно x и y. Функция line просто вычисляет быстрым способом, находит не известные коэффициенты. Получаем искомые коэффициенты. Запись в программе MathCad представлена на рис.1

рис.1 решение системы линейных уравнений, используя функцию line

в программе MathCad

2) Конструкция Given – Find использует расчетную методичку, основанную на поиске корня вблизи точки начального приближения.

В блоке Given записывается система уравнений (неравенств), подлежащих решению. Система уравнений должна быть записана после или правее Given. Перед словом Given необходимо указывать начальные приближения для всех переменных. Признаком окончания системы служит Find.

Сначала задаем матрицу данных нам величин, а именно x и y. И задаем начальное приближение А и В, от которых будем начинать искать значения линейного уравнения Ах+В=y. Затем вводим служебное слово Given и после него записываем уравнение, используя знак жирное равно. И в конце написать функцию Find с неизвестными переменными в качестве параметра. Получаем искомые коэффициенты. Запись в программе MathCad представлена на рис.2

Используя метод наименьших квадратов, мы составляем уравнения, которые записываем после слова Given:

рис.2 решение системы линейных уравнений с помощью конструкции Given – Find

в программе MathCad

Вычислили коэффициенты аппроксимирующего полинома линейного уравнения двумя разными способами. Они совпали: (а=А, b=B)

Пример.

Экспериментальные данные о значениях переменных х и у приведены в таблице.

В результате их выравнивания получена функция

Используя метод наименьших квадратов , аппроксимировать эти данные линейной зависимостью y=ax+b (найти параметры а и b ). Выяснить, какая из двух линий лучше (в смысле метода наименьших квадратов) выравнивает экспериментальные данные. Сделать чертеж.

Суть метода наименьших квадратов (МНК).

Задача заключается в нахождении коэффициентов линейной зависимости, при которых функция двух переменных а и b принимает наименьшее значение. То есть, при данных а и b сумма квадратов отклонений экспериментальных данных от найденной прямой будет наименьшей. В этом вся суть метода наименьших квадратов.

Таким образом, решение примера сводится к нахождению экстремума функции двух переменных.

Вывод формул для нахождения коэффициентов.

Составляется и решается система из двух уравнений с двумя неизвестными. Находим частные производные функции по переменным а и b , приравниваем эти производные к нулю.

Решаем полученную систему уравнений любым методом (например методом подстановки или ) и получаем формулы для нахождения коэффициентов по методу наименьших квадратов (МНК).

При данных а и b функция принимает наименьшее значение. Доказательство этого факта приведено .

Вот и весь метод наименьших квадратов. Формула для нахождения параметра a содержит суммы , , , и параметр n - количество экспериментальных данных. Значения этих сумм рекомендуем вычислять отдельно. Коэффициент b находится после вычисления a .

Пришло время вспомнить про исходый пример.

Решение.

В нашем примере n=5 . Заполняем таблицу для удобства вычисления сумм, которые входят в формулы искомых коэффициентов.

Значения в четвертой строке таблицы получены умножением значений 2-ой строки на значения 3-ей строки для каждого номера i .

Значения в пятой строке таблицы получены возведением в квадрат значений 2-ой строки для каждого номера i .

Значения последнего столбца таблицы – это суммы значений по строкам.

Используем формулы метода наименьших квадратов для нахождения коэффициентов а и b . Подставляем в них соответствующие значения из последнего столбца таблицы:

Следовательно, y = 0.165x+2.184 - искомая аппроксимирующая прямая.

Осталось выяснить какая из линий y = 0.165x+2.184 или лучше аппроксимирует исходные данные, то есть произвести оценку методом наименьших квадратов.

Оценка погрешности метода наименьших квадратов.

Для этого требуется вычислить суммы квадратов отклонений исходных данных от этих линий и , меньшее значение соответствует линии, которая лучше в смысле метода наименьших квадратов аппроксимирует исходные данные.

Так как , то прямая y = 0.165x+2.184 лучше приближает исходные данные.

Графическая иллюстрация метода наименьших квадратов (мнк).

На графиках все прекрасно видно. Красная линия – это найденная прямая y = 0.165x+2.184 , синяя линия – это , розовые точки – это исходные данные.

Для чего это нужно, к чему все эти аппроксимации?

Я лично использую для решения задач сглаживания данных, задач интерполяции и экстраполяции (в исходном примере могли бы попросить найти занчение наблюдаемой величины y при x=3 или при x=6 по методу МНК). Но подробнее поговорим об этом позже в другом разделе сайта.

Доказательство.

Чтобы при найденных а и b функция принимала наименьшее значение, необходимо чтобы в этой точке матрица квадратичной формы дифференциала второго порядка для функции была положительно определенной. Покажем это.

В практике любителя микроконтроллеров нередко возникает необходимость работы с каким-либо аналоговым датчиком, например, терморезистором или термопарой. Многие из аналоговых датчиков обладают нелинейной характеристикой, которая обычно приводится в документации в виде графика.

По горизонтали показано выходное напряжение датчика, а по вертикали - измеряемая величина. При разработке программы, обрабатывающей сигнал с подобного датчика возникает проблема: как в программе реализовать подобную характеристику датчика в виде функции?

Наиболее простой метод заключается в замене сложной кривой ломаной линией, как показано на следующем рисунке.

Тонкая синяя линия состоит из отрезков прямых, по возможности максимально совпадающей с основной кривой. Работать с отрезками прямых в программе значительно проще, т. к. математически прямая описывается простым уравнением Y = k * X + c . Разумеется, замена гладкой кривой прямолинейными участками дает лишь приближенную картину соответствия X и Y , но тут уж надо идти на компромиссы.

Итак, мы заменили исходную кривую ломаной линией, т. е. выполнили кусочно-линейную аппроксимацию.

Ломаная линия определяется координатами (X;Y) точек ее изломов, т. е. для нашего случая это точки (0.8; 83), (2.2; 88), (3; 88), (4.2; 80), (5.2; 70), (7.8; 30), (10; 20) и (14.8; 12).

AB задается координатами двух точек (XA; YA) и (XB; YB) . Отрезок - это часть прямой, а уравнение прямой, как уже было сказано, описывается так: Y = k*X + c . Так как обе точки лежат на прямой, можно составить систему из двух уравнений:

YA = k*XA + с
YB = k*XB + с

В этой системе у нас два неизвестных k и c, следовательно, для их нахождения эту систему надо решить. Надеюсь, решение системы уравнений труда не составит, поэтому сам процесс не привожу, а привожу только готовое решение:

k = (YA - YB)/(XA - XB); с = YA - k * XA

Таким образом, возвращаясь к нашей ломаной, мы по вышеприведенным формулам легко получим уравнения для каждого из отрезков ломаной по координатам точек ее излома. Остается лишь описать процесс на языке Си.{code}

#define PT_CNT 8

typedef struct{
float X, Y;
} POINT;

POINT line = {{0.8, 83}, {2.2, 88}, {3, 88}, {4.2, 80}, {5.2, 70}, {7.8, 30}, {10, 20}, {14.8, 12}};

float function(float x){
for(int i=0; i < (PT_CNT-1); i++){
if((x >= line[i].X) && (x <= line.X){
float k = (line[i].Y - line.Y)/(line[i].X - line.X);
float с = line[i].Y - k * line[i].X;
return k * x + c;
}
}
return 0;
}{/code}

Сначала определяем константу PT_CNT , которая указывает количество точек излома нашей ломаной. При этом начало и конец ломаной так же являются точками ее излома.

Затем определяем новый тип POINT для описания точки излома. Ну а после этого задаем массив, содержащий все точки излома. Это будут исходные данные для дальнейших расчетов.

Теперь определяем функцию function , которая получает в виде параметра x измеренное напряжение на датчике, а возвращает соответствующее ему значение измеряемого параметра, вычисленного по графику ломаной. Работает она по очень простому алгоритму.

Входной параметр функции х проверяется на принадлежность одному из отрезков ломаной, для чего в цикле перебираются соседние пары точек из массива line , и х сравнивается с координатами X этих точек. Если нужный отрезок найден, то по формулам вычисляются коэффициенты уравнения прямой k и с , а затем вычисляется значение функции.

Если же по каким-либо причинам значение параметра х не попало внутрь нашей ломаной, функция вернет 0, однако, это крайне скользкий случай, следует всегда быть уверенным, что такого не произойдет на самом деле, так как отличить нормально вычисленное значение функции от этого ошибочного невозможно.

Как видите, все довольно просто. Код получается достаточно универсальным, т. е. переопределив константу PT_CNT и соответственно содержимое массива line вы можете реализовать кусочно-линейную аппроксимацию любой кривой с любой точностью приближения. И только об одном следует заботиться: чтобы в кривой и аппроксимирующих ее отрезках никогда не было вертикальных кусков, потому что для вертикального отрезка вычисление коэффициента k приведет к делению на 0, а значит, совершенно неверному результату. К счастью, реальные датчики в своих характеристиках такой ситуации не создают.

МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ

ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ БЮДЖЕТНОЕ

ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ

ВЫСШЕГО ПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯ

«ВОРОНЕЖСКИЙ ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ»

(ФГБОУ ВПО «ВГТУ», ВГТУ)

Факультет радиотехники и электроники

Кафедра высшей математики и физико-математического моделирования


КУРСОВАЯ РАБОТА

по дисциплине: Математика

Тема: «Методы аппроксимации функций»


Разработал студент группы КП-121

И.С. Кононученко

Руководитель Кострюков С.А


ЗАДАНИЕ на курсовую работу


Тема: «Методы аппроксимации функций».

Студент группы КП-121 Кононученко Илья Сергеевич

1. Методы аппроксимации функций.

1.1. Непрерывная аппроксимация.

2. Точечная аппроксимация.

3. Интерполяционный полином Лагранжа.

4. Интерполяционный полином Ньютона.

5. Погрешность глобальной интерполяции.

6. Метод наименьших квадратов.

7. Подбор эмпирических формул.

8. Кусочно-постоянная интерполяция

9. Кусочно-линейная интерполяция.

2. Практическая часть.

2.1. Построить интерполяционный многочлен для функции f(x)=lnx- по узлам х=2; 4; 6; 8; 10; 12. Вычислить приближенное значение логарифма от 5,75. Получить оценку погрешности остаточного члена.

2.2. Функцию f(x), заданную таблицей, аппроксимировать линейной зависимостью ??(х)=Ах2+Вх+С. Найти х, для которого f(x)=10.



1. Методы аппроксимации функций

1.1 Непрерывная аппроксимация

1.2 Точечная аппроксимация

4 Интерполяционный полином Ньютона

8 Кусочно-постоянная интерполяция

9 Кусочно-линейная интерполяция

Практическая часть

2.1 Построить интерполяционный многочлен для функции f(x)=lnx-по узлам х=2; 4; 6; 8; 10; 12. Вычислить приближенное значение логарифма от 5,75. Получить оценку погрешности остаточного члена

2.2 Функцию f(x), заданную таблицей, аппроксимировать линейной зависимостью ?(х)=Ах+В, квадратичной зависимостью ?(х)=Ах2+Вх+С. Найти х, для которого f(x)=10

Список литературы


1.МЕТОДЫ АППРОКСИМАЦИИ ФУНКЦИЙ


1.1Непрерывная аппроксимация


Если исходная функция f(x) задана аналитическим выражением, то при построении аппроксимирующей функции возможно требовать минимальности отклонения одной функции от другой на некотором непрерывном множестве точек, например, на отрезке. Такой вид аппроксимации называется непрерывным или интегральным.

Теоретически для наилучшего приближения целесообразно требовать, чтобы во всех точках некоторого отрезка отклонения аппроксимирующей функции от функции f(x) было по абсолютной величине меньше заданной величины:

В этом случае говорят, что функция равномерно приближает функцию f(x) с точностью e на интервале. Практическое получение равномерного приближения представляет большие трудности, и поэтому этот способ применяется главным образом в теоретических исследованиях.

Наиболее употребительным является так называемое среднеквадратичное приближение, для которого наименьшее значение имеет величина

Потребовав обращения в нуль частных производных от М по параметрам, определяющим функцию, получают уравнения, позволяющие найти наилучшие значения этих параметров.


2 Точечная аппроксимация


Аппроксимация, при которой приближение строится на заданном дискретном множестве точек, называется точечной.

Для получения точечного среднеквадратичного приближения функции y=f(x), заданной таблично, аппроксимирующую функцию строят из условия минимума величины

где yi - значения функции f(x) в точках xi.

Основная сфера применения среднеквадратичного приближения - обработка экспериментальных данных (построение эмпирических формул).

Другим видом точечной аппроксимации является интерполирование, при котором аппроксимирующая функция принимает в заданных точках xi, те же значения yi , что и функция f(x), т.е. .


Рисунок 1

В этом случае, близость интерполирующей функции к заданной функции состоит в том, что их значения совпадают на заданной системе точек.

На рис. 1 показаны качественные графики интерполяционной функции (сплошная линия) и результаты среднеквадратичного приближения (пунктирная линия). Точками отмечены табличные значения функции f(x).


3 Интерполяционный полином Лагранжа


Лагранж предложил строить интерполяционный полином в виде разложения



где li(x) - базисные функции.

Для того, чтобы полином удовлетворял условиям Лагранжа, т.е. был бы интерполяционным, базисные функции li(x) должны обладать следующими свойствами:

) быть полином степени n

) удовлетворять условию

Лагранж показал, что функции, обладающие указанными свойствами, должны иметь следующий вид


С учетом этого выражения интерполяционный полином Лагранжа может быть записан в виде

В отличие от интерполяционного полинома в канонической форме для вычисления значений полинома Лагранжа не требуется предварительно определять коэффициенты полинома путем решения системы уравнений. Однако для каждого значения аргумента x полином Лагранжа приходится пересчитывать вновь, коэффициенты же канонического полинома вычисляются только один раз. Поэтому практическое применение полинома Лагранжа оправдано только в том случае, когда интерполяционная функция вычисляется в сравнительно небольшом количестве точек x.

Интерполяционный полином Лагранжа оказывается очень удобным для приближенного вычисления определенных интегралов. Если, например, некоторую функцию заменить интерполяционным полином Лагранжа, то определенный интеграл от нее может быть вычислен следующим образом



Значения интегралов от не зависят от f(x) и могут быть легко вычислены аналитически.


1.4 Интерполяционный полином Ньютона


Рассмотрим еще одну форму записи интерполяционного полинома


Требования совпадения значений полинома с заданными значения функции в узловых точках Ni(xi)=yi, i=0,1,…,n приводит к системе линейных уравнений с треугольной матрицей для неизвестных коэффициентов:



решить которую не составляет труда.

Интерполяционный полином называется полиномом Ньютона. Интересная особенность полинома Ньютона состоит в том, что каждая частичная сумма его первых (m+1) слагаемых представляет собой интерполяционный полином степени m, построенный по первым (m+1) табличным данным.


5 Погрешность глобальной интерполяции


Ошибка приближения функции f(x) интерполяционным полиномом n-й степени Ln(x) в точке x определяется разностью



Можно показать, что погрешность Rn(x) определяется следующим выражением


Здесь - производная (n+1) порядка функции f(x) в некоторой точке, а функция определена как

Если максимальное значение производной f (n+1)(x) равно



то для погрешности интерполяции следует оценка



Конкретная величина погрешности в точке x зависит, очевидно, от значения функции в этой точке. Качественный характер зависимости показан на рис. 2.


Рисунок 2

Вследствие описанного поведения погрешности, глобальная интерполяция в некоторых случаях может давать совершенно неудовлетворительный результат. Из рисунка видно, что погрешность интерполяции тем выше, чем ближе точка x лежит к концам отрезка. За пределами отрезка интерполяции (т.е. при экстраполяции) быстро растет, поэтому погрешность возрастает существенно.


1.6 Метод наименьших квадратов


Пусть для исходных данных xi, fi, i=1,…,N (нумерацию лучше начинать с единицы), выбран вид эмпирической зависимости: y=?(a0,a1,…,am) с неизвестными коэффициентами a0,a1,…,am . Запишем сумму квадратов отклонений между вычисленными по эмпирической формуле и заданными опытными данными:


S(a0,a1,…,am)=(?(x1,a0,a1,…,am)-fi)2


Параметры a0,a1,…,am будем находить из условия минимума функции S(a0,a1,…,am). В этом состоит метод наименьших квадратов (МНК).

Известно, что в точке минимума все частные производные от S по равны нулю:

Рассмотрим применение МНК для частного случая, широко используемого на практике. В качестве эмпирической функции рассмотрим полином

?(x)=a0+a1x+a2x2+…+amxm


Формула (1) для определения суммы квадратов отклонений примет вид:

S(a0,a1,…,am)=(a0+a1x+a2x2+…+amxm-fi)2 (2)


Вычислим производные

Приравнивая эти выражения к нулю и собирая коэффициенты при неизвестных a0,a1,…,am , получим следующую систему линейных уравнений

Данная система уравнений называется нормальной. Решая эту систему линейных уравнений, получаем коэффициенты.

В случае полинома первого порядка m=1, т.е. , система нормальных уравнений примет вид


При m=2 имеем:

Как правило, выбирают несколько эмпирических зависимостей. По МНК находят коэффициенты этих зависимостей и среди них находят наилучшую по минимальной сумме отклонений.


1.7 Подбор эмпирических формул


При интерполировании функций мы использовали условие равенства значений интерполяционного полинома и данной функции в узлах интерполяции. Если же исходные данные получены в результате опытных измерений, то требование точного совпадения не нужно, так как данные не получены точно. В этих случаях можно требовать лишь приближенного выполнения условий интерполяции. Это условие означает, что интерполирующая функция F(x) проходит не точно через заданные точки, а в некоторой их окрестности, так, например, как это показано на рис.

аппроксимация полином интерполяция формула

Рисунок 3


Тогда говорят о подборе эмпирических формул. Построение эмпирической формулы состоит из двух этапов подбора вида этой формулы, содержащей неизвестные параметры a0,a1,…,am, и определение наилучших в некотором смысле этих параметров. Вид формулы иногда известен из физических соображений (для упругой среды связь между напряжением и деформацией) или выбираются из геометрических соображений: экспериментальные точки наносятся на график и примерно угадывается общий вид зависимости путем сравнения полученной кривой с графиками известных функций. Успех здесь в значительной степени определяется опытом и интуицией исследователя.

Для практики важен случай аппроксимации функции многочленами, т.е. F(x)=a0+a1x+a2x2+…+amxm .

После того, как выбран вид эмпирической зависимости степень близости к эмпирическим данным определяется, используя минимум суммы квадратов отклонений вычисленных и экспериментальных данных.


1.8 Кусочно-постоянная интерполяция


На каждом отрезке интерполяционный многочлен равен константе, а именно левому или правому значению функции.

Для левой кусочно-линейной интерполяции

F(x)= fi-1, если xi-1 ?x

Для правой кусочно-линейной интерполяции F(x)= fi-1, если xi-1

Легко понять, что условия интерполяция выполняются. Построенная функция является разрывной, что ограничивает ее применение. Для левой кусочно-линейной интерполяции имеем графическое представление


Рисунок 4


1.9 Кусочно-линейная интерполяция


На каждом интервале функция является линейной Fi(x)=kix+li. Значения коэффициентов находятся из выполнения условий интерполяции в концах отрезка: Fi(xi-1)=fi-1, Fi(xi-1)=fi . Получаем систему уравнений: kixi-1+ li= fi-1, kixi+ li= fi , откуда находим ki=li= fi- kixi .

Следовательно, функцию F(x) можно записать в виде:


F(x)= x+ fi- kixi , если, т.е.

Или F(x)=ki ·(x-xi-1)+fi-1, ki = (fi - fi-1) / (xi - xi-1), xi-1 ? x ? xi, i=1,2,...,N-1


При использовании линейной интерполяции сначала нужно определить интервал, в который попадает значение x, а затем подставить его в формулу.

Итоговая функция будет непрерывной, но производная будет разрывной в каждом узле интерполяции. Погрешность такой интерполяции будет меньше, чем в случае кусочно-постоянной интерполяции. Иллюстрация кусочно-линейной интерполяции приведена на рисунке


Рисунок 5


2. ПРАКТИЧЕСКАЯ ЧАСТЬ


2.1 Построим интерполяционный многочлен для функции


f(x)=lnx- по узлам х=2; 4; 6; 8; 10; 12.


Формула для вычисления данного многочлена выглядит следующим образом:



где n- количество узлов.

Рассчитаем значения базисных полиномов.

Формула для расчета базисных полиномов:



Запишем значения узлов функции:

Вычислим значения функций f(x) в соответствующих узлах:

f(x0)==0.6931471805599453-1.5=-0.8068528194400547(x1)= =1.386294361119891-1.25=0.136294361119891(x2)= =1.791759469228055-1.1666666666666667=0.625092802561388(x3)= =2,079441541679835-1.125=0.954441541679835(x4)= =2.302585092994045-1.1=1.202585092994045(x5)= =2.484906649788-1.083333333333333=1.401573316454667


Рассчитаем значения соответствующих базисных полиномов:



Запишем формулу вычисления многочлена f(x)=lnx- по полученным данным:

L(x)=f(x0)·l0(x)+ f(x1)·l1(x)+ f(x2)·l2(x)+ f(x3)·l3(x)+ f(x4)·l4(x)+ f(x5)·l5(x).

Подставим в формулу полученные значения:

L(x)=((- 0.8068528194400547) ·(x-4)(x-6)(x-8)(x-10)(x-12)+ +0.136294361119891·5(x-2)(x-6)(x-8)(x-10)(x-12)- 0.625092802561388·10·

· (x-2)(x-4)(x-8)(x-10)(x-12)+ 0.954441541679835·10(x-2)(x-4)(x-6)(x-10)(x-12)-1.202585092994045·5(x-2)(x-4)(x-6)(x-8)(x-12)+ 1.401573316454667·

·(x-2)(x-4)(x-6)(x-8)(x-10)=0,000443792912875·x5-0.001895922201567·x4+

032520620421826·x3-0.289410042490318·x2+1.50294940468648·x-2.886362165898854

Рисунок 6

L(x)= 0.000443792912875·x5-0.001895922201567·x4+

032520620421826·x3-0.289410042490318·x2+

50294940468648·x-2.886362165898854

Из рисунка видно, что графики функций совпадают.

Вычислим приближенное значение логарифма от 5,75 с точностью до 0,001.

Воспользуемся разложением



Пользуясь формулой



посчитаем приближенное значение логарифма:

Получим оценку погрешности остаточного члена:

Формула нахождения остаточного члена в других точках:

Rn(x)=f(x)-Ln(x).

Подставим значения и вычислим остаточный член:

Rn(x)= -0.234721044665224-(-0.149875603361276)= 0.0122

Для абсолютной погрешности интерполяционной формулы Лагранжа можно получить следующую оценку:


0122374?9.9512361


Из оценки следует, что выбирая достаточно большое число точек разбиения можно получить результат с необходимой точностью.

Функцию f(x), заданную таблицей аппроксимируем линейной зависимостью ?(х)=Ах+В, квадратичной зависимостью ?(х)=Ах2+Вх+С.


x10151720f(x)371117Решение:

Для решения этой задачи воспользуемся методом наименьших квадратов.

Система нормальных уравнений для линейной зависимости (x)=Ax+B:

Учитывая, что n=4: ;

Решаем систему линейных уравнений:

Следовательно, линейная зависимость будет иметь вид:

Рассмотрим квадратичную зависимость?(х)=Ах2+Вх+С. Система нормальных уравнений имеет вид:


Найдем не подсчитанные суммы:

Следовательно, квадратичная зависимость будет иметь вид:


Рисунок 7

Функция, заданная таблицей.

Линейная зависимость

Квадратичная зависимость


По графику найдем значение х, для которого f(x)=10.

Список литературы


1. Кириллова С.Ю. Вычислительная математика/Кириллова С.Ю. Изд-во Владим. гос. ун-та, 2009. -102с.

2. Справочное пособие по приближенным методам решения задач высшей математики/ Л.И. Бородич, А.И. Герасимович, Н.П. Кеда и др.; под ред. Л.И. Бородич.- М.: Высшая школа, 1986. -189с.

3. Тюканов, А.С. Основы численных методов: учеб. пособие для студентов. Изд-во РГПУ им. А.И. Герцена, 2007. -226с.


Репетиторство

Нужна помощь по изучению какой-либы темы?

Наши специалисты проконсультируют или окажут репетиторские услуги по интересующей вас тематике.
Отправь заявку с указанием темы прямо сейчас, чтобы узнать о возможности получения консультации.

Аппроксимация опытных данных – это метод, основанный на замене экспериментально полученных данных аналитической функцией наиболее близко проходящей или совпадающей в узловых точках с исходными значениями (данными полученными в ходе опыта или эксперимента). В настоящее время существует два способа определения аналитической функции:

С помощью построения интерполяционного многочлена n-степени, который проходит непосредственно через все точки заданного массива данных. В данном случае аппроксимирующая функция представляется в виде: интерполяционного многочлена в форме Лагранжа или интерполяционного многочлена в форме Ньютона.

С помощью построения аппроксимирующего многочлена n-степени, который проходит в ближайшей близости от точек из заданного массива данных. Таким образом, аппроксимирующая функция сглаживает все случайные помехи (или погрешности), которые могут возникать при выполнении эксперимента: измеряемые значения в ходе опыта зависят от случайных факторов, которые колеблются по своим собственным случайным законам (погрешности измерений или приборов, неточность или ошибки опыта). В данном случае аппроксимирующая функция определяется по методу наименьших квадратов.

Метод наименьших квадратов (в англоязычной литературе Ordinary Least Squares, OLS) - математический метод, основанный на определении аппроксимирующей функции, которая строится в ближайшей близости от точек из заданного массива экспериментальных данных. Близость исходной и аппроксимирующей функции F(x) определяется числовой мерой, а именно: сумма квадратов отклонений экспериментальных данных от аппроксимирующей кривой F(x) должна быть наименьшей.

Аппроксимирующая кривая, построенная по методу наименьших квадратов

Метод наименьших квадратов используется:

Для решения переопределенных систем уравнений, когда количество уравнений превышает количество неизвестных;

Для поиска решения в случае обычных (не переопределенных) нелинейных систем уравнений;

Для аппроксимации точечных значений некоторой аппроксимирующей функцией.

Аппроксимирующая функция по методу наименьших квадратов определяется из условия минимума суммы квадратов отклонений расчетной аппроксимирующей функции от заданного массива экспериментальных данных. Данный критерий метода наименьших квадратов записывается в виде следующего выражения:

Значения расчетной аппроксимирующей функции в узловых точках ,

Заданный массив экспериментальных данных в узловых точках .

Квадратичный критерий обладает рядом "хороших" свойств, таких, как дифференцируемость, обеспечение единственного решения задачи аппроксимации при полиномиальных аппроксимирующих функциях.

В зависимости от условий задачи аппроксимирующая функция представляет собой многочлен степени m

Степень аппроксимирующей функции не зависит от числа узловых точек, но ее размерность должна быть всегда меньше размерности (количества точек) заданного массива экспериментальных данных.

∙ В случае если степень аппроксимирующей функции m=1, то мы аппроксимируем табличную функцию прямой линией (линейная регрессия).

∙ В случае если степень аппроксимирующей функции m=2, то мы аппроксимируем табличную функцию квадратичной параболой (квадратичная аппроксимация).

∙ В случае если степень аппроксимирующей функции m=3, то мы аппроксимируем табличную функцию кубической параболой (кубическая аппроксимация).

В общем случае, когда требуется построить аппроксимирующий многочлен степени m для заданных табличных значений, условие минимума суммы квадратов отклонений по всем узловым точкам переписывается в следующем виде:

- неизвестные коэффициенты аппроксимирующего многочлена степени m;

Количество заданных табличных значений.

Необходимым условием существования минимума функции является равенству нулю ее частных производных по неизвестным переменным . В результате получим следующую систему уравнений:

Преобразуем полученную линейную систему уравнений: раскроем скобки и перенесем свободные слагаемые в правую часть выражения. В результате полученная система линейных алгебраических выражений будет записываться в следующем виде:

Данная система линейных алгебраических выражений может быть переписана в матричном виде:

В результате была получена система линейных уравнений размерностью m+1, которая состоит из m+1 неизвестных. Данная система может быть решена с помощью любого метода решения линейных алгебраических уравнений (например, методом Гаусса). В результате решения будут найдены неизвестные параметры аппроксимирующей функции, обеспечивающие минимальную сумму квадратов отклонений аппроксимирующей функции от исходных данных, т.е. наилучшее возможное квадратичное приближение. Следует помнить, что при изменении даже одного значения исходных данных все коэффициенты изменят свои значения, так как они полностью определяются исходными данными.

Аппроксимация исходных данных линейной зависимостью

(линейная регрессия)

В качестве примера, рассмотрим методику определения аппроксимирующей функции, которая задана в виде линейной зависимости. В соответствии с методом наименьших квадратов условие минимума суммы квадратов отклонений записывается в следующем виде:

Координаты узловых точек таблицы;

Неизвестные коэффициенты аппроксимирующей функции, которая задана в виде линейной зависимости.

Необходимым условием существования минимума функции является равенству нулю ее частных производных по неизвестным переменным. В результате получаем следующую систему уравнений:

Преобразуем полученную линейную систему уравнений.

Решаем полученную систему линейных уравнений. Коэффициенты аппроксимирующей функции в аналитическом виде определяются следующим образом (метод Крамера):

Данные коэффициенты обеспечивают построение линейной аппроксимирующей функции в соответствии с критерием минимизации суммы квадратов аппроксимирующей функции от заданных табличных значений (экспериментальные данные).

Алгоритм реализации метода наименьших квадратов

1. Начальные данные:

Задан массив экспериментальных данных с количеством измерений N

Задана степень аппроксимирующего многочлена (m)

2. Алгоритм вычисления:

2.1. Определяются коэффициенты для построения системы уравнений размерностью

Коэффициенты системы уравнений (левая часть уравнения)

- индекс номера столбца квадратной матрицы системы уравнений

Свободные члены системы линейных уравнений (правая часть уравнения)

- индекс номера строки квадратной матрицы системы уравнений

2.2. Формирование системы линейных уравнений размерностью .

2.3. Решение системы линейных уравнений с целью определения неизвестных коэффициентов аппроксимирующего многочлена степени m.

2.4.Определение суммы квадратов отклонений аппроксимирующего многочлена от исходных значений по всем узловым точкам

Найденное значение суммы квадратов отклонений является минимально-возможным.

Аппроксимация с помощью других функций

Следует отметить, что при аппроксимации исходных данных в соответствии с методом наименьших квадратов в качестве аппроксимирующей функции иногда используют логарифмическую функцию, экспоненциальную функцию и степенную функцию.

Логарифмическая аппроксимация

Рассмотрим случай, когда аппроксимирующая функция задана логарифмической функцией вида: