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

Автор работы: Пользователь скрыл имя, 03 Декабря 2013 в 18:38, курсовая работа

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

Целью данной курсовой работы является разработка программного продукта, реализующего решение интерполяционного кубического сплайна методом фронтальной прогонки, а так же методом Гаусса.
Для достижения цели были поставлены следующие задачи:
Изучить теоретический материал по теме: «Интерполяционные кубические сплайны».
Применить изученный материал к разработке программного продукта.
Написать программу на языке С++ для решения данного кубического сплайна методом фронтальной рпогонки.
Проверить решение с помощью приложения MathCad, Excel.
Сравнить результаты, полученные в трех пакетах.

Вложенные файлы: 1 файл

курсач.docx

— 186.62 Кб (Скачать файл)

 

Мы так  же сразу можем найти ΔF(xi), так как в дальнейших вычислениях эти данные нам пригодятся. ΔF(xi) находится по формуле:

 

И найдем шаг сетки h. Шаг находится по формуле:

 

Запишем систему для внутренних узлов:

 

 

Так как  h = const, для нахождения значения выбираются формулы:

 

 

Подставляем в эти формулы данные с таблицы, и получаем следующие значения , .

 

 

 

 

 

Получается  система:

 

 

 

 

Далее эту  систему мы будем решать методом  прогонки (см. п. 1.2).

По методу прогонки нам надо вычислить:

; ; по формулам :

;  , где .

Найденные значения P: P1= 0; Р2 = -0,25; Р3 = -0,2667.

Найденные значения Q: Q1 = 1.00169; Q2 = 0.349578; Q3= 1.193179; Q4= 1.208.

Для получения  нужных значений для нахождения сплайна  используем обратный ход, по формулам:

 

.

Получаем  значения:  M1 = 1.00169; M2 = 0.131816; M3 = 0.871046; M4 = 1.208.

Все значения нам известны. Можно приступить к  нахождения сплайна.

 

 

Для нахождения сплайна нам понадобится формула:

Где  hi+1 =  xi+1- xi,  Δfi  = fi+1 - fi , Δmi = mi+1 – mi, i=0,1,2,3.

 

 

 Нам  нужно найти значение сплайна  в двух точках Х1= 0,06 и Х2 = 0,11. Чтобы знать в какой из сплайнов подставлять Х, надо подставить в промежутки. Х1 подходит для второго уравнения, Х2 подходит для третьего. Подставляя Х мы находим значение сплайна в нужном Х.

Подставив 0,06 во второй сплайн, а 0,11в третий сплайн, нашли значение сплайнов, и они  равны:

S3,1(0.06) = 0.120318, S3,2 (0.11) = 0.221774

 

 

 

  1. Неравномерная сетка.

Пусть дана неравномерная сетка, со значениями функции в точках Х.

I

Xi

F(Xi)

Δ F(Xi)

Hi

0

0.1

1.1052

0.0566

0.05

1

0.15

1.1618

0.0474

0.04

2

0.19

1.2092

0.0748

0.06

3

0.25

1.284

   

 

Δ F(Xi) = F(Xi+1) - F(Xi), hi = hi+1 – hi , i=0,1,2,3.

Запишем систему для внутренних узлов:

 

 

Так как  h = var , для нахождения значения выбираются формулы:

 

 

 

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

 

 

 

 

 

 

Эту систему  можно решить методом Гаусса:

20

-45

25

0

0

0,00833333

0,03

0,006667

0

0,053

0

0,006667

0,033333

0,01

0,061667

0

25

-8,33333

16,66667

0


 

1

-2,25

1,25

0

0

0

0,04875

-0,00375

0

0,053

0

0,006667

0,033333

0,01

0,061667

0

25

-8,33333

16,66667

0


 

1

-2,25

1,25

0

0

0

1

-0,07692

0

1,087179

0

0

0,033846

0,01

0,054419

0

0

-6,41026

16,66667

-27,1795


 

1

-2,25

1,25

0

0

0

1

-0,07692

0

1,087179

0

0

1

0,295455

1,607828

0

0

0

18,56061

-16,8729


 

1

-2,25

1,25

0

0

0

1

-0,07692

0

1,087179

0

0

1

0,295455

1,607828

0

0

0

1

-0,90907


 

По обратному  ходу найдем искомые Mi :

M1 = 0.425397; M2 = 1.231519; M3 = 1.876417; M4 = -0.90907;

НайдемΔMi= Mi+1 – Mi . M1 = 0.806122; M2 = 0.644898; M3 = -2.78549.

Все значения нам известны. Можно приступить к  нахождения сплайна.

Для нахождения сплайна нам понадобится формула:

Где  hi+1 =  xi+1- xi,  Δfi  = fi+1 - fi , Δmi = mi+1 – mi , i=0,1,2,3.

 

 

 

 

 

Нам нужно  найти значение сплайна в двух точках Х1= 0,2 и Х2 = 0,17. Чтобы знать в какой из сплайнов подставлять Х, надо подставить в промежутки. Х1 подходит для второго уравнения, Х2 подходит для третьего. Подставляя Х мы находим значение сплайна в нужном Х.

Подставив 0,17 во второй сплайн, а 0,2в третий сплайн, нашли значение сплайнов, и они  равны:

S3,1(0.17) = 1.185168, S3,2 (0.2) = 1.221476.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2.5 Блок-схема программной  реализации сплайн интерполяции.

 

 

 

 

 

Да                                                                           Нет

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Заключение.

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

В процессе  создания курсового  проекта данный  метод  были рассмотрен в трех математических  пакетах: в C++ , MathCAD’e и Excel.

За время курсового проектирования был закреплен и усвоен материал. Курсовой проект позволяет продемонстрировать знания, полученные при изучении курса  программирования и вычислительной математики. Выполнение курсового проекта  требует творческого подхода  и применения дополнительных знаний.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Список литературы

  1. В.И. Киреев А.В. Пантелеев Численные методы в примерах и задачах.

Москва. «Высшая школа» 2008.

  1. Б.И. Квасов Методы Изогеометрическойапроксимации сплайнами. Москва. «Физматлит» 2006.
  1. Положение о  курсовой работе. /Утверждено Ученым Советом Рыбницкого филиала ПГУ им. Т.Г.Шевченко – Протокол №1 от 25.09.2008г.
  1. Марчук Г. И. Методы вычислительной математики. – М.: Наука, 1979.
  1. Интерполяция и функции предсказания. [Электронный ресурс] – Режим доступа: http://www.exponenta.ru/soft/mathcad/usersguide/chapter13/13_5.asp

(дата обращения: 23.12.2011)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


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