Приближение функций с помощью полиномов Лагранжа

Федеральное агентство по образованию Государственное образовательное учреждение высшего профессионального образования Кафедра Прикладная математика и информатика Курсовая работа по дисциплине Численные методы ТЕМА Приближение функции с помощью полиномов Лагранжа Преподаватель Студент группы 2006 План Задание the task Основные теоретические сведения

Определения Постановка задачи интерполяции Интерполяционная формула Лагранжа Интерполяционный многочлен Лагранжа для равностоящих узлов Приближение заданной функции полиномом Лагранжа 4-й степени Описание метода решения и блок-схемы алгоритма программы Листинг программы Заключение Литература Задание Приближение функции с помощью полиномов

Лагранжа Программа выводит графики функции и полинома Лагранжа, а также находит значение фактической погрешности . The task Approximation of function the help of Lagrang polynoms The program deduces diagrams of function and Lagrang polynom, and also finds value of an actual error. Основные теоретические сведения Определения Аппроксимация функций заключается в приближенной замене

заданной функции fx некоторой функцией 966 x так, чтобы отклонение функции 966 x от fx в заданной области было наименьшим. Функция 966 х при этом называется аппроксимирующей. Типичной задачей аппроксимации функций является задача интерполяции. Необходимость интерполяции функций в основном связана с двумя причинами Функция fx имеет сложное аналитическое описание, вызывающее определенные трудности при его использовании

например, fx является спецфункцией гамма-функцией, эллиптической функцией и др Аналитическое описание функции fx неизвестно, т. е. fx задана таблично. При этом необходимо иметь аналитическое описание, приближенно представляющее fx например, для вычисления значений fx в произвольных точках, определения интегралов и производных от fx и т. п. Постановка задачи интерполяции Простейшая задача интерполяции заключается в следующем.
На отрезке a, b заданы n 1 точки xi х0, х1 хn, которые называются узлами интерполяции, и значения некоторой функции fx в этих точках 1 Требуется построить функцию F х интерполяционная функция, принадлежащую известному классу и принимающую в узлах интерполяции те же значения, что и fx, т. е. такую, что 2 Геометрически это означает, что нужно найти кривую y F х некоторого определенного типа, проходящую через заданную систему точек

Mxi, yi i 0, 1, n Рис. 1. Рис. 1. В такой общей постановке задача может иметь бесконечное множество решений или совсем не иметь решений. Однако эта задача становится однозначной, если вместо произвольной функции F х искать полином 966 х интерполяционный полином степени не выше n, удовлетворяющий условиям 2, т. е. такой, что 3 Полученную интерполяционную формулу 4 обычно используют для приближенного вычисления значений данной функции f х для значений аргумента х, отличных от узлов интерполяции.

Такая операция называется интерполяцией функций. Различают два вида интерполяции глобальная – соединение всех точек f х единым интерполяционным полиномом локальная – соединение точек отрезками прямой по двум точкам, отрезками параболы по трем точкам. Интерполяционная формула Лагранжа Пусть на отрезке a, b даны n 1 различных значений аргумента x0, x1, xn и известны для функции y f х соответствующие значения выражений 5 Требуется построить полином

Lnx степени не выше n, имеющий в заданных узлах x0, x1, xn те же значения, что и функция f х, т. е. тaкой, что Lnxi yi i 0, 1, n Будем искать Lnx в виде 6 где lix – полином степени n, причем 7 Очевидно, что требование 7 с учетом 6 обеспечивает выполнение условий 3 Рис. 2. Рис. 2. li x – полином степени n Так как искомый полином lix обращается в нуль в n точках x0 xi – 1, xi 1, xn, то он имеет вид 8 где Сi – постоянный коэффициент.
Полагая в формуле 8 х xi и учитывая, что lixi yi, получим Отсюда Заметим, что ни один из множителей не равен нулю. Подставляя Сi в 8, а также с учетом 6, окончательно имеем 9 Это и есть интерполяционная формула Лагранжа. Интерполяционный многочлен Лагранжа для равностоящих узлов Пусть на отрезке задана система равноотстоящих узлов которыми отрезок

делится на равных частей где В этом случае интерполяционный многочлен Лагранжа строится на равноотстоящих узлах и имеет более удобный вид. Обозначим , где . Отсюда Т.е. в общем случае 1 Используя 1 и принятое обозначение получим 2 Учитывая, что найдем 3 Заметим, что в 3 ровно строк -я строка отсутствует причем численные значения первых строк положительны, а остальные отрицательны.

Используя 3, получим т.е. 4 С учетом 2 и 4 формула Лагранжа для равноотстоящих узлов примет вид 5 Приближение заданной функции полиномом Лагранжа 4-й степени fxxsin960x2 на отрезке x1 Выбираем равноотстоящие узлы 0 0.25 0.5 0.75 1 f f0 f0.25sin9600.2520.095671 f0.5sin9600.521220.35355 f0.75sin9600.7520.69291 f1sin96021 Находим коэффициенты с100-0.250-0.050-0.750-10 c20.956710.25-00.25-0.50.25-0.750.25-1-4 .08196 c322.6272

c4-29.56416 c667 Построение полинома Лагранжа 4-й степени -4.08196x-0x-0.5x-0.75x-1 22.6272x-0x-0.25x-0.75x-1- -29.56416x-0x-0.25x-0.5x-1 10.66667x-0x-0.5x-0.25x-0.75 -0.348920.195791.7036-0.016658x Интерполяционный полином -0.348920.195791.7036-0.016658x Описание метода решения и блок-схемы алгоритма программы В курсовой работе был выбран следующий метод решения.

Интерполяция осуществлялась по формуле Лагранжа для равноотстоящих узлов. Их координаты высчитывались по соответствующим формулам. Далее формировался сам полином степени, на единицу меньшей количества узлов в работе реализована возможность ввода заданного количества узлов. Затем выводились графики исходной функции и приближающего многочлена при заданном n числе узлов. Одновременно находилась фактическая ошибка
R фактическое как наибольшее по модулю значение разности значений между исходной функцией и многочленом. Блок-схема алгоритма Листинг программы unit Unit1 interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ExtCtrls, TeeProcs, TeEngine, Chart, Series, Math, ComCtrls type TForm1 classTForm

Chart1 TChart Panel1 TPanel Label1 TLabel Edit1 TEdit Label2 TLabel RadioButton1 TRadioButton Label3 TLabel Series1 TLineSeries Series2 TLineSeries Button1 TButton UpDown1 TUpDown Button2 TButton Label4 TLabel Label5 TLabel Label6 TLabel procedure Form1CreateSender TObject procedure

Button1ClickSender TObject procedure Button2ClickSender TObject private Private declarations public function Fzreal var nintegerreal Public declarations end var Form1 TForm1 implementation var ninteger R .dfm function TForm1.Fzreal var nintegerreal var p1real i,j,k integer x,c array of real

Begin nStrToIntForm1.Edit1.Text if Form1.RadioButton1.Checkedtrue then begin Setlengthx,n Setlengthc,n for i0 to n-1 do заполнение массива иксов begin xi-12n1i1 end for j0 to n-1 do заполнение массива коэффициентов begin cjxjsinxj3.142 for k0 to n-1 do begin if k j then cjcjxj-xk end end Result0 формирование полиномаn-1степени for i0 to n-1 do begin p11 for j0 to n-1 do begin if i j then p1p1z-xj end FResultp1ci end end end procedure

TForm1.Form1CreateSender TObject var k real begin k-1 while k 1 and k -1 do begin Chart1.SeriesList0.AddXYk, ksink3.142 clRed kk0.04 end end procedure TForm1.Button1ClickSender TObject var z,r,r1 real begin z-1 rabsFz,n-zsinz3.142 Chart1.SeriesList1.Clear while z 1 and z -1 do begin r1absFz,n-zsinz3.142 if r1 r then rr1 Chart1.SeriesList1.AddXYz, Fz,n clBlue zz0.04 end Label3.CaptionRфакт 13
FloatToStrr end procedure TForm1.Button2ClickSender TObject begin Application.Terminate end end. Скриншот программы Заключение Программа приближает заданную функцию fxxsin960x2 по методу Лагранжа, на отрезке x0 1. Запуская программу несколько раз, при этом вводя корректное количество узлов для данной программы до 9 включительно, можно убедиться, что наименьшая ошибка

Rфакт. наблюдается при количестве узлов интерполяции, равном 8 Rфакт0.00104299024264687. Визуально графики практически совпадают. При количестве равноотстоящих узлов, равном 5 соответственно, полином Лагранжа 4-й степени, погрешность вычислений Rфакт0.0358108381779684, это менее точный результат. Погрешность метода интерполирования по формуле Лагранжа также можно оценить по следующей формуле где

максимальное значение производной от интерполирующей функции на отрезке считаем, что функция дифференцируема на отрезке раз. Литература 1. httpwww.erudition.ru 2. httpwww.exponenta.ru 3. httpamd.stu.neva.ru 4. httpya.ru