Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Chis_Met_Lab_2010.doc
Скачиваний:
4
Добавлен:
01.07.2025
Размер:
2 Мб
Скачать
☆

3.3 Контрольні питання

  1. Приведіть визначення сплайна. Що таке дефект сплайна?

  2. У чому відмінність інтерполяції кубічними сплайнами від кусочно-кубічної інтерполяції?

  3. Який сплайн називається природним? Приведіть його визначення.

  4. Охарактеризуйте метод прогону як спосіб знаходження коефіцієнтів сплайна. Приведіть систему зв'язків, яка лежить в основі методу.

  5. Який сплайн називається квадратичним?

  6. Приведіть визначення b-сплайна cтупеню m-1 (m=1, 2, 3, 4).

Додаток 3.1

//Програма побудови кубічного сплайну, що інтерполює задану функцію

#include <stdio.h>

#include <conio.h>

#include <cmath>

void main ()

{

int i,n=20;

float a,b1,h,s,x,x0,x1;

float *m=new float[n];

float *l=new float[n];

float *y=new float[n];

float *b=new float[n];

printf ("Enter n - number of intervals in [a, b]\n");

scanf_s("%i",&n);

printf ("Enter coordinates of points a, b\n");

scanf_s ("%f%f",&a, &b1);

printf ("Enter values of function y(xi) in xi,");

printf (" it is know, y(0) = f(a), y(n) =f(b)\n");

for (i=0; i<=n; i++)

scanf_s("%f",&y[i]);

printf ("Enter values x\n");

scanf_s("%f",&x);

/* Умови на кінцях відрізка: m(0)=f'(а)=1 і m(n)=f’(b)=0 */

for(m[0]=1,m[n]=l[0]=0,h=(b1-a)/n,i=1; i<=n-1; i++)

{

b[i]=3*(y[i+1]-y[i-1])/h;

l[i]=-1/(l[i-1]+4);

m[i]=l[i]*(m[i-1]-b[i]);

};

for(i=n-1; i>=1; i--)

m[i]=l[i]*m[i+1]+m[i];

if((x>a)&&(x<b1))

{

i=floor((x-a)/h)+1;

x0=a+(i-1)*h;

x1=x0+h;

s=y[i-1]*((x-x1)*(x-x1)*(2*(x-x0)+h))/(h*h*h)+y[i]*((x-x0)*(x-x0)*(2*(x1-x)+h))/(h*h*h)+m[i-1]*(x-x1)*(x-x1)*(x-x0)/(h*h)+m[i]*(x-x0)*(x-x0)*(x-x1)/(h*h);

printf ("x = %f s = %f",x,s);

};

printf("\nPress any key for continue...");

_getch();

delete []m;

delete []l;

delete []y;

delete []b;

}

Лабораторна робота №4 чисельне інтегрування

Мета роботи - вивчити основні квадратурні формули й алгоритми чисельного інтегрування.

4.1 Короткі теоретичні положення

4.1.1 Квадратурні формули прямокутників, трапецій і Сімпсона

Для наближеного обчислення певного інтеграла розіб'ємо відрізок інтегрування на рівних частин крапками (  - крок розбивки, Значення функції в крапках розбивки позначимо через . Безперервна підінтегральна функція заміняється сплайном – кусочно поліноміальною функцією який апроксимує дану функцію. Інтегруючи функцію на відрізку , прийдемо до деякої формули чисельного інтегрування (квадратурної формули).

Залежно від функції , яка апроксимує підінтегральну функцію, будемо одержувати різні квадратурні формули.

Якщо на кожної частині ділення відрізка функцію замінити функцією, що приймає постійне значення, рівне, наприклад, значенню функції в серединній крапці -й частини то функція буде мати східчастий вигляд:

У цьому випадку

і одержуємо квадратурну формулу прямокутників:

(4.1)

Якщо функцію на кожному відрізку замінити її лінійною інтерполяцією по крапках і то одержимо безперервну кусочно-лінійну функцію

Тут . Графіком цієї функції є ламана лінія. У цьому випадку

і одержуємо квадратурну формулу трапеції:

(4.2)

Можна одержати квадратурну формулу Сімпсона, яка також називається формулою парабол, якщо сплайн , що апроксимує підінтегральну функцію , являє собою безперервну функцію, складену з парабол, що примикають одна до одної. Зажадаємо, щоб на відрізку парабола проходила через крапки , , . Використовуючи побудову інтерполяційного багаточлена Лагранжа другого порядку на відрізку , одержимо

Для подальших перетворень уведемо змінну за допомогою рівності Значенням , рівним 0, 1/2 , 1, відповідають значення , рівні

Виразимо сплайн через нову змінну :

З огляду на те що маємо

і в результаті приходимо до квадратурної формули парабол:

(4.3)

Наближене значення інтеграла , яке обчислене за квадратурною формулою парабол, можна виразити через значення й - результати обчислень за квадратурними формулами прямокутників і трапецій:

Похибка кожної квадратурної формули оцінюється величиною залишкового члена , що залежить від кроку розбивки (або від числа розбивок ):

Приведемо оцінки похибок квадратурних формул у тому випадку, коли підінтегральна функція має безперервну похідну другого порядку:

для формули прямокутників

для формули трапецій

Якщо підінтегральна функція має безперервну похідну четвертого порядку, то справедливою є така оцінка похибки формули Сімпсона:

Помітимо, що при інтегруванні ступеневої функції, ступінь якої не вище трьох, квадратурна формула Сімпсона дає точний результат.

Приклад. Знайти наближені значення інтеграла за допомогою квадратурних формул прямокутників, трапецій і Сімпсона, якщо відрізок інтегрування [0,1] розбитий на n=2; 4; 10 рівних частин. Оцінити величину похибки отриманих результатів у кожному випадку.

Рішення. Позначимо через похибку результату інтегрування за квадратурними формулами (тут ).

Знайдемо похідні підінтегральної функції до четвертого порядку включно й максимальні абсолютні значення похідних другого й четвертого порядків на відрізку [0,1]:

, , , ,

,

При n=4 одержимо наступні оцінки величин похибки результатів:

; ;

.

Результати обчислень за квадратурними формулами прямокутників, трапецій і Сімпсона для різних чисел розбивок n і похибки цих результатів зведені в таблицю.

Таблиця 4.1 – Результати обчислень

Квадратурна формула

n=2

n=4

n=10

(2)

(4)

(10)

прямокутників

1,40977

0,1699

1,44875

0,0425

1,46039

0,0068

трапецій

1,57158

0,3398

1,49068

0,085

1,46717

0,0136

Сімпсона

1,46371

0,0045

1,46272

0,0003

1,46265

10-5

Практично важливо вести обчислення до досягнення заданої точності по тій або іншій квадратурній формулі. Цієї мети задовольняє метод подвійного перерахування, що полягає в наступному. За квадратурною формулою проводять обчислення інтеграла із кроком h і одержують значення (h). Потім зменшують крок удвічі й одержують нове наближене значення інтеграла (h/2). Щоб визначити, як сильно ухиляється значення (h/2) від точного значення інтеграла , використовується правило Рунге:

де k=2 для формул прямокутників і трапецій і k=4 для формули Сімпсона.

При заданій точності обчислення зі зменшуваним кроком закінчуются при виконанні умови

При цьому приймають із точністю .

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]