Интерполяция функций в пакете 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) для построения полинома Лагранжа. Выводится графики исходной функции и интерполянты.

 

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

&n