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

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

Рубрика Программирование, компьютеры и кибернетика
Вид курсовая работа
Язык русский
Дата добавления 10.06.2012
Размер файла 1,4 M

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Размещено на http://www.allbest.ru/

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

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

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

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

"Интерполяция функций в пакете 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 = 1

x1 = 3

x2 = 5

y0 = 2

y1 = 1

y2 = 8

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

= + +

= 2 + +

= x +

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

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

Реализация

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

Листинг:

lagrange. m

function f=LagrangeP (x,y,r)

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

m=length (r);

nx=length (x);

ny=length (y);

if (nx ~= ny),

error (' (x,y) do not have the same # values')

end

for k=1: m

sum = 0;

for i=1: nx

delt (i) =1;

for j=1: nx

if (j ~= i),

delt (i) = delt (i) * (x (k) - xt (j)) / (xt (i) - xt (j));

end

end

sum = sum + ft (i) * delt (i);

end

f (k) =sum;

end

plot (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:

x

2

2,5

3

3,5

4

4,5

5

5,5

6

6,5

7

y

-0,68

-0,57

-0,03

-0,23

-0,74

-0,40

0,52

0,70

0,14

0,09

0,65

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

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

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

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

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

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

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

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

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

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

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

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

Листинг:

pogr. m

function p=pogr (X,Y)

yi=sin (2*X). *sin (X);

P=yi-Y;

p=P;

abs (p);

max (p)

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

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

X

2,10

2,37

2,64

2,91

3,18

3,45

3,72

3,99

4,26

Y

-0,68

-0,57

-0,57

-0,04

-0,04

-0,23

-0,23

-0,74

-0,41

X

4,53

4,8

5,07

5,34

5,61

5,88

6,15

6,42

6,69

Y

-0,41

0,52

0,52

0,70

0,70

0,15

0,15

0,09

0,09

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

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

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

X

2,10

2,37

2,64

2,91

3,18

3,45

3,72

3,99

4,26

Y

-0,66

-0,60

-0,42

-0,13

-0,10

-0,21

-0,45

-0,73

-0,56

X

4,53

4,8

5,07

5,34

5,61

5,88

6,15

6,42

6,69

Y

-0,34

0,15

0,54

0,64

0,58

0,28

0,13

0,09

0,30

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

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

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

X

2,10

2,37

2,64

2,91

3,18

3,45

3,72

3,99

4,26

Y

-0,76

-0,70

-0,40

-0,10

-0,01

-0,17

-0,49

-0,74

-0,69

X

4,53

4,8

5,07

5,34

5,61

5,88

6,15

6,42

6,69

Y

-0,35

0,17

0,61

0,76

0,60

0,27

0,05

0,05

0,24

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

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

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

X

2,10

2,37

2,64

2,91

3,18

3,45

3,72

3,99

4,26

Y

-0,70

-0,67

-0,41

-0,11

0,0009

-0,17

-0,50

-0,74

-0,70

X

4,53

4,8

5,07

5,34

5,61

5,88

6,15

6,42

6,69

Y

-0,35

0,17

0,61

0,77

0,60

0,27

0,05

0,06

0, 19

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

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

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

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

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

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

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

Размещено на Allbest.ru


Подобные документы

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

    курсовая работа [594,5 K], добавлен 28.12.2012

  • Постановка задачи в численной интерполяции. Интерполяционный многочлен Лагранжа. Интерполяционная формула Ньютона. Практическая реализация методов в среде MathCad. Операции с действительными и комплексными числами. Векторные и матричные операции.

    курсовая работа [823,2 K], добавлен 13.10.2015

  • Назначение и возможности пакета MATLAB. Цель интерполирования. Компьютерная реализация решения инженерной задачи по интерполяции табличной функции различными методами: кусочно-линейной интерполяцией и кубическим сплайном, а также построение их графиков.

    контрольная работа [388,3 K], добавлен 25.10.2012

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

    лабораторная работа [315,8 K], добавлен 24.05.2014

  • Интерполирование рабочих точек в пакете Mathcad с помощью полиномов (канонического, Лагранжа и Ньютона) и сплайнов (линейного, квадратичного, кубического). Реализация программы для решения системы линейных алгебраических уравнений на языке Pascal.

    лабораторная работа [202,8 K], добавлен 15.11.2012

  • Сущность теории приближений и характеристика интерполяции как процесса получения последовательности интерполирующих функций. Полиномы Эрмита и интерполирование с кратными узлами. Программная разработка приложения по оценке погрешности интерполирования.

    курсовая работа [1,1 M], добавлен 05.06.2014

  • Интерполяция методом наименьших квадратов. Построение функции с применением интерполяционного многочленов Лагранжа и Ньютона, кубических сплайнов. Моделирование преобразователя давления в частоту в пакете LabVIEW. Алгоритм стандартного ПИД-регулятора.

    курсовая работа [2,7 M], добавлен 20.04.2011

  • Сущность построения, особенности применения и теоретическое обоснование алгоритмов приближенного решения математических задач. Основы численного метода, нахождение интерполяционного полинома методом Лагранжа. Руководство программиста и пользователя.

    курсовая работа [527,6 K], добавлен 16.08.2012

  • Исследование методов интерполяции функции и разработка программного продукта для автоматизации расчётов, выполняемых в данных методах. Обоснование выбора языка программирования. Требования к программе и программному изделию. Организация работы с ПЭВМ.

    дипломная работа [2,1 M], добавлен 16.06.2017

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

    презентация [359,2 K], добавлен 24.01.2014

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.