Аппроксимация функций. Выбор эмпирических формул

Автор: Пользователь скрыл имя, 11 Октября 2014 в 23:06, курсовая работа

Краткое описание

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

Оглавление

Введение………………………………………………..……………………..3
Глава 1. Теоретическая часть……………………….…………………….4
Глава 2. Практическая часть……………………………….………..…..18
Заключение………………………………………….………………………36
Список используемой литературы

Файлы: 1 файл

курсовая.doc

— 1.45 Мб (Скачать)

           

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

Федеральное государственное образовательное учреждение

высшего профессионального образования

«Чувашский государственный университет имени И.Н.Ульянова»

АЛАТЫРСКИЙ ФИЛИАЛ

Факультет управления и экономики

Кафедра высшей математики и информационных технологий

 

 

 

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

по дисциплине: «Вычислительная математика»

на тему: «Аппроксимация функций. Выбор

                эмпирических формул»

 

 

 

 

 

                                                                                         Выполнила студентка

                                                              2 курса

                                                                                      группы ЗАФТ 03-09

 

                                                                                             Научный руководитель:

                                                                                доц. Федоров Р.В.

 

 

 

 

 

 

 

 

 

 

 

Алатырь 2011


 

СОДЕРЖАНИЕ

СТР

Введение………………………………………………..……………………..3

Глава 1. Теоретическая часть……………………….…………………….4

Глава 2. Практическая часть……………………………….………..…..18

Заключение………………………………………….………………………36

Список используемой литературы………………………………….……37

Приложение…………………………………..……………………………..38

 

 

Введение.

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

Как известно, между величинами может существовать точная (функциональная) связь, когда одному значению аргумента соответствует одно определенное значение, и менее точная (корреляционная) связь, когда одному конкретному значению аргумента соответствует приближенное значение или некоторое множество значений функции, в той или иной степени близких друг к другу. При ведении научных исследований, обработке результатов наблюдения или эксперимента обычно приходиться сталкиваться со вторым вариантом. При изучении количественных зависимостей различных показателей, значения которых определяются эмпирически, как правило, имеется некоторая их вариабельность. Частично она задается неоднородностью самих изучаемых объектов неживой и, особенно, живой природы, частично обуславливается погрешностью наблюдения и количественной обработке материалов. Последнюю составляющую не всегда удается исключить полностью, можно лишь минимизировать ее тщательным выбором адекватного метода исследования и аккуратностью работы. Поэтому при выполнении любой научно-исследовательской работы возникает проблема выявления подлинного характера зависимости изучаемых показателей, этой или иной степени замаскированных неучтенностью вариабельности значений.    Для этого и применяется аппроксимация - приближенное описание корреляционной зависимости переменных подходящим уравнением функциональной зависимости, передающим основную тенденцию зависимости (или ее "тренд").

При выборе аппроксимации следует исходить из конкретной задачи исследования. Обычно, чем более простое уравнение используется для аппроксимации, тем более приблизительно получаемое описание зависимости. Поэтому важно считывать, насколько существенны и чем обусловлены отклонения конкретных значений от получаемого тренда. При описании зависимости эмпирически определенных значений можно добиться и гораздо большей точности, используя какое-либо более сложное, много параметрическое уравнение. Однако нет никакого смысла стремиться с максимальной точностью передать случайные отклонения величин в конкретных рядах эмпирических данных. Гораздо важнее уловить общую закономерность, которая в данном случае наиболее логично и с приемлемой точностью выражается именно двухпараметрическим уравнением степенной функции. Таким образом, выбирая метод аппроксимации, исследователь всегда идет на компромисс: решает, в какой степени в данном случае целесообразно и уместно «пожертвовать» деталями и, соответственно, насколько обобщенно следует выразить зависимость сопоставляемых переменных. Наряду с выявлением закономерностей, замаскированных случайными отклонениями эмпирических данных от общей закономерности, аппроксимация позволяет также решать много других важных задач: формализовать найденную зависимость; найти неизвестные значения зависимой переменной путем интерполяции или, если это допустимо, экстраполяции.

 

1.Теоритическая  часть.

Аппроксимировать – это означает "приближённо заменять". Допустим, известны значения некоторой функции в заданных точках. Требуется найти промежуточные значения этой функции. Это так называемая задача о восстановлении функции. Кроме того, при проведении расчетов сложные функции удобно заменять алгебраическими многочленами или другими элементарными функциями, которые достаточно просто вычисляются (задача о приближении функции).

1.1Постановка задачи интерполяции

На интервале [a, b] заданы точки xi, i=0, 1,..., N; a ≤ x i ≤ b, и значения неизвестной функции в этих точках fi, i=0, 1,...., N. Требуется найти функцию F(x), принимающую в точках xi те же значения fi. Точки называются узлами интерполяции, а условия F(xi)= fi. – условиями интерполяции. При этом F(x) ищем только на отрезке [a,b]. Если необходимо найти функцию вне отрезка, то - это задача экстраполяции. Пока мы будем рассматривать только интерполяционные задачи.

Задача имеет много решений, т.к. через заданные точки (xi, fi), i=0, 1,..., N, можно провести бесконечно много кривых, каждая из которых будет графиком функции, для которой выполнены все условия интерполяции. Для практики важен случай аппроксимации функции многочленами, т.е. .

Все методы интерполяции можно разделить на локальные и глобальные. В случае локальной интерполяции на каждом интервале [xi–1, xi] строится отдельный полином. В случае глобальной интерполяции отыскивается единый полином на всем интервале [a, b]. При этом искомый полином называется интерполяционным полиномом.

1.2. Локальная интерполяция

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

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

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

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

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

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

На каждом интервале [xi–1, xi] функция является линейной . Значения коэффициентов находятся из выполнения условий интерполяции в концах отрезка: . Получаем систему уравнений: , откуда находим . Следовательно, функцию F(z) можно записать в виде:

, т.е.

Или 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, а затем подставить его в формулу.

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

Пример: Заданы значений некоторой функции:

x

0

2

3

3.5

f

-1

0.2

0.5

0.8


Требуется найти значение функции при z=1 и z=3.2 по кусочно–постоянной и кусочно–линейной интерполяции.

Решение. Точка z=1 принадлежит первому локальному отрезку [0, 2], т.е. и, следовательно, по формулам левой кусочно–постоянной интерполяции F(1) = f0 = –1, по формулам правой кусочно–постоянной интерполяции F(1)=f1=0.2. Воспользуемся формулами кусочно–линейной интерполяции:

.

Точка z=3.2 принадлежит третьему интервалу [3, 3.5], т.е. и, следовательно, по формулам левой кусочно – постоянной интерполяции F(3.2)= =0.5, по формулам правой кусочно – постоянной интерполяции F(3.2)= =0.8. Воспользуемся формулами кусочно–линейной интерполяции:

1.2. Кубический интерполяционный сплайн

Слово сплайн (английское слово "spline") означает гибкую линейку, используемую для проведения гладких кривых через заданные точки на плоскости. Форма этого универсального лекала на каждом отрезке описывается кубической параболой. Сплайны широко используются в инженерных приложениях, в частности, в компьютерной графике. Итак, на каждом i–м отрезке [xi–1, xi], i=1, 2,…, N, решение будем искать в виде полинома третьей степени:

Si(x)=ai+bi(x–xi)+ci(x–xi)2/2+di(x–xi)3/6

Неизвестные коэффициенты ai, bi, ci, di, i=1, 2,..., N, находим из:

• условий интерполяции: Si(xi)=fi, i=1, 2,..., N; S1(x0)=f0,

• непрерывности функции Si(xi–1)=Si–1(xi–1), i=2, 3,..., N,

• непрерывности первой и второй производной:

S /i(xi–1)=S /i–1(xi–1), S //i(xi–1)=S //i–1(x i–1), i=2, 3,..., N.

Учитывая, что , для определения 4N неизвестных получаем систему 4N–2 уравнений:

ai=fi, i=1, 2,..., N,

bi hi – cihi2/2 + di hi3/6=fi – fi–1, i=1, 2,..., N,

bi – bi–1 = ci hi – di hi2/2, i=2, 3,..., N,

di hi = ci – ci–1 , i=2, 3,..., N.

где hi=xi – xi–1. Недостающие два уравнения выводятся из дополнительных условий: S //(a)=S //(b)=0. Можно показать, что при этом . Из системы можно исключить неизвестные bi , di , получив систему N+1 линейных уравнений (СЛАУ) для определения коэффициентов ci:

c0 =0, cN =0,

hici–1+2(hi+hi+1)ci+h i+1ci+1=6

, i=1, 2,…, N–1. (1)

После этого вычисляются коэффициенты bi, di:

, i=1, 2,..., N. (2)

В случае постоянной сетки hi=h эта система уравнений упрощается.

Данная CЛАУ имеет трехдиагональную матрицу и решается методом прогонки.

Коэффициенты определяются из формул:

Для вычисления значения S(x) в произвольной точке отрезка z∈[a, b] необходимо решить систему уравнений на коэффициенты ci, i=1,2,…, N–1, затем найти все коэффициенты bi, di. Далее, необходимо определить, на какой интервал [xi0, xi0–1] попадает эта точка, и, зная номер i0, вычислить значение сплайна и его производных в точке z

S(z)=ai0 +bi0(z–xi0)+ci0(z–xi0)2/2+di0(z–x i0)3/6

S /(z)=bi0+ci0(z–xi0)+di0(z–x i0)2/2, S //(z)=ci0+di0(z–x i0).

Пример.

 

x0,f0

x1,f1

x2,f2

x3,f3

x4,f4

х

0

¼

1/2

3/4

1

f

1

2

1

0

1


Требуется вычислить значения функции в точках 0.25 и 0.8, используя сплайн – интерполяцию.

В нашем случае: hi=1/4, .

Выпишем систему уравнений для определения :

Решая эту систему линейных уравнений, получим: .

Рассмотрим точку 0.25, которая принадлежит первому отрезку, т.е. . Следовательно, получим,

Рассмотрим точку 0.8, которая принадлежит четвертому отрезку, т.е. .

Следовательно,

1.3. Глобальная интерполяция

В случае глобальной интерполяции отыскивается единый полином на всем интервале [a, b], т.е. строится полином, который используется для интерполяции функции f(x) на всем интервале изменения аргумента x. Будем искать интерполирующую функцию в виде полинома (многочлена) m–ой степени Pm(x)=a0+a1x+a2x2+a3x3+…+am xm. Какова должна быть степень многочлена, чтобы удовлетворить всем условиям интерполяции? Допустим, что заданы две точки: (x0, f0) и (x1, f1), т.е. N=1. Через эти точки можно провести единственную прямую, т.е. интерполирующей функцией будет полином первой степени P1(x)=a0+a1x. Через три точки (N=2) можно провести параболу P2(x)=a0+a1x+a2x2 и т.д. Рассуждая таким способом, можно предположить, что искомый полином должен иметь степень N .

Для того, чтобы доказать это, выпишем систему уравнений на коэффициенты. Уравнения системы представляют собой условия интерполяции в при каждом x=xi:

Данная система является линейной относительно искомых коэффициентов a0, a1, a2,…, aN. Известно, что СЛАУ имеет решение, если ее определитель отличен от нуля. Определитель данной системы

носит имя определителя Вандермонда. Из курса математического анализа известно, что он отличен от нуля, если xk≠ xm (т.е. все узлы интерполяции различные). Таким образом, доказано, что система имеет решение.

Мы показали, что для нахождения коэффициентов  
a0, a1, a2,…, aN надо решить СЛАУ, что является сложной задачей. Но есть другой способ построения полинома N–й степени, который не требует решения такой системы.

1.3.1. Полином Лагранжа

Решение ищем в виде , где li(z) – базисные полиномы N–й степени, для которых выполняется условие: . Убедимся в том, что если такие полиномы построены, то LN(x) будет удовлетворять условиям интерполяции:

.

Каким образом построить базисные полиномы? Определим

, i=0, 1,..., N.

Легко понять, что

, и т.д.

Функция li(z) является полиномом N–й степени от z и для нее выполняются условия "базисности":

=0, i≠k;, т.е. k=1,…,i-1 или k=i+1,…,N.

.

Таким образом, нам удалось решить задачу о построении интерполирующего полинома N– й степени, и для этого не нужно решать СЛАУ. Полином Лагранжа можно записать в виде компактной формулы: . Погрешность этой формулы можно оценить, если исходная функция g(x) имеет производные до N+1 порядка:

Информация о работе Аппроксимация функций. Выбор эмпирических формул