Интерполяция функций в пакете MatLab. Полином Лагранжа

 

Факультет Информатики и вычислительной техники

Кафедра математического и аппаратного обеспечения информационных систем










Курсовая работа

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

"Интерполяция функций в пакете MatLab.

Полином Лагранжа "





Выполнил: студент группы

ИВТ-11-10 Фёдоров В.С.

Содержание


Введение

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

Интерполяция функций

Интерполяционная формула Лагранжа

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

Реализация

Распечатка серии тестов

Анализ полученных результатов

Интерполяция по соседним элементам

Линейная интерполяция

Интерполяция кубическими сплайнами

Интерполяция Лагранжа

Список использованной литературы

Введение


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

Аннотация:

В данной курсовой работе в программном продукте MatLab реализовано интерполирование функций полиномом Лагранжа.


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


Интерполяция функций


Пусть на отрезке [a, b] заданы значения функции y = f (x) в точках



Интерполяция - нахождение многочлена не выше n-ой степени:


(1)


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


() = f () = , i = 0, 1, 2, …,n. (2)


Другими словами, интерполяция - нахождение многочлена вида (1), который на отрезке [a, b] являлся бы приближением для функции y = f (x).

Многочлен (1) называется интерполяционным многочленом, точки - узлами интерполяции

.

Интерполяционная формула Лагранжа


Рассмотрим вопрос об отыскании коэффициентов интерполяционного многочлена (1).

интерполяция полином лагранж математика

Подставляя этот многочлен в систему (2), получаем систему n+1 уравнений первой степени с n+1 коэффициентами :



Решая систему, находим коэффициенты и, подставляя их в (1) получаем искомый интерполяционный многочлен. Однако на практике этот способ связан с громоздкими вычислениями при решении системы.

Поэтому интерполяционный многочлен (1) будем искать в виде:


(4)


Полагая в (4) x = и учитывая условия (2) получим:


,

откуда =


Полагая в (4) x = получим:


,


откуда


=


Аналогично найдем


=

…………………

=


Подставляя найденные значения коэффициентов в формулу (4), получаем искомый многочлен


= + +

. + (5)


Формула (5) называется интерполяционной формулой Лагранжа.

Пример. Найти многочлен второй степени, приближенно выражающий функцию f (x).


x0 = 1x1 = 3x2 = 5y0 = 2y1 = 1y2 = 8

Решение. По формуле (5) находим


= + +

= 2 + +

= x +


Блок - схема алгоритма.


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


Реализация


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

Листинг:. m

function f=LagrangeP (x,y,r)

% (x,y) массивы координат точек

m=length (r);

nx=length (x);=length (y);(nx ~= ny),(' (x,y) do not have the same # values')k=1: m= 0;i=1: nx(i) =1;j=1: nx(j ~= i),(i) = delt (i) * (x (k) - xt (j)) / (xt (i) - xt (j));= sum + ft (i) * delt (i);(k) =sum;(x,y,'o',r)

Руководство программиста:

Назначение программы: Построение полинома Лагранжа.

Используемые функции:

plot (x,y) - команда plot (x, y) соответствует построению обычной функции, когда одномерный массив x соответствует значениям аргумента, а одномерный массив y - значениям функции.

length (x) - встроенная функция, вычисляет количество элементов в одномерном массиве.

interp1 (x, y, xi, text) - приближение функции одной переменной сплайнами, где x,y - это табличные данные исходной функции, xi - значения аргумента сетки, а text = nearest - интерполяция по соседним элементам, linear - линейная итерполяция, Spline - интерполяция кубическими сплайнам.

Руководство пользователя:

Назначение программы: Построение полинома Лагранжа c помощью интерполяционной формулы Лагранжа.

Выполнение программы: В окошке Command Window введем табличные данные исходной функции x и y, а также X абсцисс точек, в которых вычисляются значения интерполяционного полинома. После этого введем Y=LagrangeP (x,y,X) для построения полинома Лагранжа. Выводится графики исходной функции и интерполянты.


Распечатка серии тестов


Для примера возьмем исходную функцию: , построим график этой функции:



Находим точки дискретизации, где шаг равен 0.5:



x22,533,544,555,566,57y-0,68-0,57-0,03-0,23-0,74-0,400,520,700,140,090,65

Интервал вычисления интерполянты: от 2 до 7 с шагом 0.1

Используем встроенную функцию: - интерполяция по соседним элементам.

Строим точки дискретизации и график интерполянты:



- линейная итерполяция.

Строим точки дискретизации и график интерполянты:



- интерполяция кубическими сплайнам.

Строим точки дискретизации и график интерполянты:



Воспользуемся написанной функцией:

- интерполяция формулами Лагранжа.

Строим точки дискретизации и график интерполянты:



Анализ полученных результатов


Ниже приведен листинг программы для вычисления погрешности. Функция выводит на экран максимальное по модулю значение погрешности.

Листинг:. m

function p=pogr (X,Y)=sin (2*X). *sin (X);=yi-Y;

p=P;(p);(p)


Интерполяция по соседним элементам


Возьмем для теста несколько не узловых точек.

X2,102,372,642,913,183,453,723,994,26Y-0,68-0,57-0,57-0,04-0,04-0,23-0,23-0,74-0,41X4,534,85,075,345,615,886,156,426,69Y-0,410,520,520,700,700,150,150,090,09

>> pogr (X,Y); - вычисляем максимальную погрешность 0.1972.


Линейная интерполяция


Возьмем для теста несколько не узловых точек.

X2,102,372,642,913,183,453,723,994,26Y-0,66-0,60-0,42-0,13-0,10-0,21-0,45-0,73-0,56X4,534,85,075,345,615,886,156,426,69Y-0,340,150,540,640,580,280,130,090,30

>> pogr (X,Y); - вычисляем максимальную погрешность 0.1228


Интерполяция кубическими сплайнами


Возьмем для теста несколько не узловых точек

X2,102,372,642,913,183,453,723,994,26Y-0,76-0,70-0,40-0,10-0,01-0,17-0,49-0,74-0,69X4,534,85,075,345,615,886,156,426,69Y-0,350,170,610,760,600,270,050,050,24

>> pogr (X,Y); - вычисляем максимальную погрешность 0.0446


Интерполяция Лагранжа


Возьмем для теста несколько не узловых точек

X2,102,372,642,913,183,453,723,994,26Y-0,70-0,67-0,41-0,110,0009-0,17-0,50-0,74-0,70X4,534,85,075,345,615,886,156,426,69Y-0,350,170,610,770,600,270,050,060, 19

>> pogr (X,Y); - вычисляем максимальную погрешность 0.0963

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

Список использованной литературы


1. Волков, Е.А. Численные методы: учеб. пособие / E. A. Волков. - М.: Наука, 1982. - 256 с.

. Турчак, Л.И. Основы численных методов: учеб. пособие / Л.И. Турчак; под ред.В. В. Щенникова. - М.: Наука, 1987. - 320 с.

. Поршнев, С.В. Вычислительная математика. Курс лекций: учеб. пособие / С.В. Поршнев. - 2-е изд., доп. - СПб.: БХВ-Петербург, 2004. - 320 с.

. Демидович, Б.П. Основы вычислительной математики: учеб. пособие / Б.П. Демидович, И.А. Марон. - 6-е изд., стереотип. - СПб.; М.; Краснодар: Лань, 2007. - 672 с.


Факультет Информатики и вычислительной техники Кафедра математического и аппаратного обеспечения информационных систем

Больше работ по теме:

КОНТАКТНЫЙ EMAIL: [email protected]

Скачать реферат © 2017 | Пользовательское соглашение

Скачать      Реферат

ПРОФЕССИОНАЛЬНАЯ ПОМОЩЬ СТУДЕНТАМ