РефератыИнформатика, программированиеДоДослідження методів чисельного інтегрування

Дослідження методів чисельного інтегрування

Міністерство освіти і науки України


Вінницький національний технічний університет
Інститут автоматики, електроніки та комп’ютерних
систем управління
Факультет АКСУ
Кафедра АІВТ
Курсова робота
з дисципліни
«Обчислювальні методи та застосування ЕОМ»

Дослідження методів чисельного інтегрування


2006


Анотація


В даній курсовій роботі розроблена програма для обчислення визначеного інтегралу методом Чебишева третього четвертого та п’ятого порядків.


Програма дозволяє отримати розв’язання інтегралу зазначеним методом, оцінити похибки та порівнювати їх з точним обчисленнями отриманими в математичному пакеті Mathcad 2001 Professional.


1. Теоретичні відомості


У курсовій роботі проведено дослідження методів чисельного інтегрування. Адже, у задачах, пов'язаних з аналізом, ідентифікацією, оцінкою якості, моделюванням різноманітних пристроїв автоматики, керування, інформаційно-вимірювальної техніки, радіоелектроніки,
виникає необхідність обчислення визначених інтегралів.


В основу чисельного інтегрування покладено наближене обчислення площини під кривою, яка описується підінтегральною функцією інтеграла:



Загальний підхід до розв’язування цієї задачі такий: визначений інтеграл I
являє собою площину, обмежену кривою f(х), віссю Х та прямими Х = a, Х =b, відрізок від a до b розбивають на множину менших відрізків, знаходять наближено площу кожної площини Si, яку отримують за таким розбиванням, значення інтеграла І знаходять як суму площ площин Sі, тобто I = Si. При цьому використовують два способи розбивання початкового відрізка на менші


1.Розбивання відрізка проводиться раніше, до того ж завжди відрізок вибирають рівним (метод прямокутників, трапецій, Сімпсона).


2.Місцезнаходження та довжина відрізків визначаються аналізом, до того ж спочатку ставиться за мету досягти найбільшої точності з заданим числом відрізків, а потім відповідно з цим визначають їхні межі (методи Гаусса, Ньютона - Котеса, Чебишева) [1].


1.1 Метод прямокутників


Найпростішим методом наближеного обчислення інтеграла є метод прямокутників, геометрична інтерпретація якого зводиться до знаходження визначеного інтеграла як суми площ N прямокутників (з висотою f(x) та основою h=xi
=xi+1
-xi
), отриманих розділень відрізка[a,b] на N рівних частин, до того ж якщо розділити на прямокутники зліва на право, то отримаємо формулу лівих прямокутників:


In
=f(x)dx»Si
=h[f(x0
)+f(x1
)+...+f(xn-1
)]=f(xi
);(1.1)


якщо ж розділити на N прямокутників справа на ліво, то отримаємо формулу правих прямокутників:


Iпр
=f(x)dx»h[f(xn
)+...+f(x1
)]=f(xi
)(1.2)


1.2 Метод трапецій


Суть методу трапеції, полягає в тому, що інтеграл обчислюється по-іншому, відрізок інтегрування поділяється на N рівних відрізків, всередині яких підінтегральна крива f(x) замінюється кусково- лінійною функцією j(x), отриманою стягуванням ординат N відрізків хордами.


Обчислення визначеного інтеграла зводиться до знаходження сум площ Si
прямокутних трапецій N.


Площа кожної такої трапеції визначається як:


Si
=h(f(xi
)+f(xi+1
)).(1.3)


Отже, формула трапеції:


I=»Si
=h(f(x0
)+f(x1
)+f(x2
)+...+f(xn-1
)+f(xN
)= =[(f(x0
)+f(xn
))+f(xi
)].(1.4)


Графічна модель



Похибка обчислення інтеграла за формулою трапецій оцінюється як


(1.5)


Де М2
–максимальне значення другої похідної. f(x) при ,h-
крок обчислень.


1.3 Метод Сімпсона (метод парабол або метод криволінійних трапецій)


Цей метод також використано у курсовій роботі, близький до методу трапецій у тій частині, що інтегрування проводиться шляхом поділу відрізка інтегрування [а, b] на множину відрізків (N пар відрізків). Однак, з метою збільшення точності наближеного інтегрування на кожному відрізку [Xi, Xi+2] підінтегральної функції f(x) замінюють квадратичною параболою j(x), обчислення визначеного інтеграла зводиться до обчислення суми N криволінійних трапецій Si: I= f(x)dx»Si [1].





Графічна модель.

Площа кожної такої трапеції визначається за формулою Сімпсона:


Si= [f(xi)+4f(xi+1)+f(xi+2)], (1.6), тобто


(y0
+4y1
+y2
),


(y2
+4y3
+y4
),


(y4
+4y5
+y6
), (1.7)


. . . . . . . . . . . . . . . . . . . . . . .


(y2n-2
+4y2n-1
+y2n
),


Тоді чисельне значення визначеного інтеграла на відрізку [a,b] дорівнюватиме сумі інтегралів, тобто


[y0
+y2n
+4(y1
+...+y2n-1
)+2(y2
+...+y2n-2
)],


або


[y0
+y2n
+4y2i-1
+2y2i
],(1.8)


де h =(b-a)/2N.


Похибка обчислення інтеграла за формулою Сімпсона оцінюється як



де М4
–максимальне значення четвертої похідної. f(x)
при , h-
крок обчислень.


1.4 Метод Ньютона-Котеса


Цей метод засновано на апроксимації однієї із сторін криволінійної трапеції, яка отримується поділом відрізка [a,b] на N рівних частин, многочленами вищих порядків, також як у методі трапецій використовується лінійна апроксимація (заміна однієї із сторін трапеції прямою лінією), а в методі Сімпсона - апроксимація параболою.


Основна формула методу:


yi
Hi,
(1.9)


де Hi - коефіцієнти Ньютона - Котеса. Ці коефіцієнти не залежать від вигляду f(x), а є функцією тільки N (кількість вузлів інтерполяцїї). Таким чином, коефіцієнти Ньютона - Котеса можна обчислити раніше для різного числа вузлів інтерполяції .


Легко можна показати, що методи трапецій та Сімпсона є частинними випадками методу Ньютона - Котеса.


1.5 Метод Чебишева


Метод Чебишева використано в курсовій грунтується на обчисленні інтеграла за значеннями функції yi =f(xi),(i=1,2,...,N) у зафіксованих вузлах інтерполяції x1,x2,...,xN (де h=const). Коефіцієнти Ньютона -Котеса Нi (i=1,N) не залежать від значень функції у вузлах інтерполяції. П.Л.Чебишев запропонував для обчислення визначених інтегралів використати формулу:


ci
f(xi
),
(1.10)


в якій квадратурні коефіцієнти сi (i = 1,2, ...,N) зафіксовані, а абсциси xi (i=1,2,...,N)підлягаютьвизначенню.


Таблиця 1.1.


Коефіцієнти Ньютона - Котеса























n = 1 Но = H1 = ½
n = 2 Но = Н2 = 1/6, Н1 = 2/3
n = 3 Н0 = Н3 = 1/8, Н1 = H2 = 3/8
n = 4 Но = Н4 = 7/90, Н1 = Нз = 16/45, Н2 = 2/15
n = 5

Н0 = Н5 =19/288, Н1 = Н4 = 25/96, Н2 = Нз =


= 25/144


n = 6 Но = Н6 = 41/840, Н1 = Н5 = 9/35, Н2 = Н4 = =9/280, Нз = 34/105
n = 7 Но = Н7 = 75І/17280, Н1 = Н6 = 3577/1728О, Н2 = Н5 =1323/1728О, Нз = Н4 = 2989/17280

Для простоти обчислень необхідно вибрати С1=...=Сn. Розглядаємо спочатку частинний випадок, коли межі інтегрування дорівнюють -1 та 1. Тоді формула Чебишева набере вигляду:


2Cn[f(x1
)+f(x2
)+...+f(xn
)],(1.11)


де квадратурні коефіцієнти Сn та абсциси xi підлягають визначенню.


Коефіцієнти та вузли інтерполяції xi визначимо із умови, що ця рівність є точною для випадку, коли f(х) многочлен вигляду:


f(x)=a0
+a1
x+a2
x2
+...+an
xn
.(1.12)


Підставимо многочлен у ліву частину попередньої формули та про- інтегруємо:


(a0
+a1
x+a2
x2
+...+an
xn
)=2(a0
+a2
+a3
+...).(1.13)


У праву частину рівності (1. 11) підставимо значення многочлена (1.І2) у вузлах x1,x2,...,xn:


f(x1
)=a0
+a1
x1
+a2
x1
2
+a3
x1
3
+...+an
x1
n
,


f(x2
)=a0
+a1
x2
+a2
x2
2
+a3
x2
3
+...+an
x2
n
,


f(x3
)=a0
+a1
x3
+a2
x3
2
+a3
x3
3
+...+an
x3
n
,(1.14)


. . . . . . . . . . . . . . . . . . . . . . . . . . . . .


f(xn
)=a0
+a1
xn
+a2
xn
2
+a3
xn
3
+...+an
xn
n
,


Тоді рівність (1.ІЗ) набере вигляду:


2(a0
+a2
+a4
+...)=2cn
[na0
+a1
(x1
+x2
+...+xn
)+a2
(x1
2
+x2
2
+...+xn
2
)+


+a3
(x1
3
+x2
3
+...+xn
3
)+...+an
(x1
n
+x2
n
+...+xn
n
)].(1.15)


Отримана рівність повинна виконуватися за будь-яких значень a0
,a1
,...,an
; таким чином, порівнюючи коефіцієнти аi в правій та лівій частинах (1.І5) знаходимо, що nсn = 1, звідки


Cn
=.(1.16)


і, крім цього,


x1
+x2
+x3
+...+xn
=0,


x1
2
+x2
2
+x3
2
+...+xn
2
=,


x1
3
+x2
3
+x3
3
+...+xn
3
=0,(1.17)


x1
4
+x2
4
+x3
4
+...+xn
4
=,


. . . . . . . . . . . . . . . . . . .


x1
n
+x2
n
+x3
n
+...+xn
n
=[1-(-1)n+1
],


Підставляючи знайдене для Сn
виразу в співвідношені 1.13 отримаємо формулу Чебишева:


[f(x1
)+f(x2
)+...+f(xn
)],(1.18)


де точки x1,...,хn визначаються із системи рівнянь (1.17).


Значення x1,...,хn для різних n обчислюються раніше та зводять в табл. 1.2.


Коли межі даного інтеграла відрізняються від -1 та 1, формула Чебишева матиме вигляд:


[f(z1
)+f(z2
)+...+f(zn
)],(1.19)


де


Таблиця 1.2.








Число


ординат


Значення абсцис

n = 2


n = 3


n = 4


n = 5


n = 6


n = 7


-x1 = x2 = 0.577350


-x1 = x3 = 0.707107; x2 = 0


-x1 = x4 = 0.794654; -x2 = x3 = 0.187592


-x1 = x5 = 0.832498; -x2 = x4 = 0.374541; х3 = 0


-x1 = x6 = 0.866247; -x2 = x5 = 0.4225І9; -x3 = x4 = 0.266635


-x1 = x7 = 0.883862; -x2 = x6 = 0.529657; -x3= = x5 = 0.323912; x4 = 0



Zi
=+xi
, (i=1,2,...,n),(1.20)


а xi мають вкaзані в таблиці значення.


Похибка обчислень за методом Чебишева знаходиться за формулою:



2. Розробка та опис логічної частини програми

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


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


1) обчислення інтегралу методом Чебишева 3-го порядку: виконується алгоритм, який детально пояснено в додатку Б.


2) обчислення інтегралу методом Чебишева 4-го порядку.


3) обчислення інтегралу методом Чебишева 5-го порядку


4) Задається крок обчислення h=0.1;


5) Задається крок обчислення h=0.2;


6) Задається крок обчислення h=0.5;


7) Про автора – довідка про автора програми;


8) Вихід з програми – здійснюється вихід з програмного середовища ТР;


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


Тип TMenuItems – масив пунктів меню. Далі задаємо підінтегральну функцію. Процедура InitGraphMode – процедура для ініціалізації графіки, VGA - тип графічного драйверу, VGAHi – тип графічного режиму.


· DrawCursor(x,y:integer) – процедура для малювання курсору;


· HideCursor(x,y:integer) – процедура, що автоматично забирає курсор з екрану;


· Function WaitWhileKeypressed(var FKey:boolean):char – функція, що очікує нажатої клавіші, цикл повторюється до тих пір, доки не буде зчитано код нажатої клавіші;


· Procedure menu(x,y:integer;…var poin:integer) – дана процедура власне

виводить на екран графічне меню та надає змогу користувачеві здійснити вибір пункту меню за допомогою графічного курсору.


3. Функціональне призначення програми

Програма призначена для обчислення визначеного інтегралу I=,
методом Чебишева третього, четвертого та п’ятого порядків, також дає змогу зменшити похибку обчислень за рахунок зменшення кроку інтегрування.


Програма має гарний інтерфейс користувача з меню, що керується з клавіатури. Результати обчислень виводяться на екран монітора.


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


Комп'ютер може швидко опрацьовувати дані і виводити результати на екран.


4. Вхідні та вихідні дані


Вхідні дані:


1. Інтеграл: I=
;


2. Крок обчислень 0.1,0.2,0.5;


3. Порядок інтегрування: третього , четвертого та п’ятого порядку.


Вихідні дані:


1. Значення інтегралу, що знаходить программа.


2. Загальна похибка по заданим методам.


3. Порівняння результатів з точним значенням.


5. Результати розрахунків


Результатами обчислень є знаходження значення визначеного інтеграла I=,
, зазначеними методами, з кроком: h=0.1, h=0.2, h=0.5.


При розрахунку інтегралу 3-го порядку програма виведе на екран слідуючі результати:


Інтеграл Чебишева 3-го порядку: 2.649061117170


Загальна похибка: 0.0316342854


Точне розв’язання (Mathcad 2001): 2.68069545714219


Крок: 0.5


Інтеграл Чебишева 3-го порядку: 2,66138784520


Загальна похибка: 0.0193076119


Точне розв’язання (Mathcad 2001): 2.68069545714219


Крок: 0.2


Інтеграл Чебишева 3-го порядку: 2,67298758310


Загальна похибка: 0.00770787


Точне розв’язання (Mathcad 2001): 2.68069545714219


Крок: 0.1


При розрахунку інтегралу 4-го порядку програма виведе на екран слідуючі результати:


Інтеграл Чебишева 4-го порядку: 2.6680680931


Загальна похибка: 0.01262744


Точне розв’язання (Mathcad 2001): 2.68069545714219


Крок: 0.5


Інтеграл Чебишева 4-го порядку: 2,6743859370


Загальна похибка: 0.006309519


Точне розв’язання (Mathcad 2001): 2.68069545714219


Крок: 0.2


Інтеграл Чебишева 4-го порядку: 2,676438956720


Загальна похибка: 0,00385156152


Точне розв’язання (Mathcad 2001): 2.68069545714219


Крок: 0.1


При розрахунку інтегралу 5-го порядку програма виведе на екран слідуючі результати:


Інтеграл Чебишева 5-го порядку: 2,68069554160


Загальна похибка: 0.00000008443


Точне розв’язання (Mathcad 2001): 2.68069545714219


Крок: 0.5


Інтеграл Чебишева 5-го порядку: 2.68069545713707


Загальна похибка: 0.00000000512


Точне розв’язання (Mathcad 2001): 2.68069545714219


Крок: 0.2


Інтеграл Чебишева 5-го порядку: 2.68069545714209


Загальна похибка: 0,00000000010


Точне розв’язання (Mathcad 2001): 2.68069545714219


Крок: 0.1


Висновки


В даній курсовій роботі було проведене дослідження чисельних методів вирішення визначеного інтегралу виду I=,
по методу Чебишева.


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


В курсовій роботі, для перевірки результатів обчислень, я використовував математичний пакет MatchCad 2001. Похибку для даної функції доцільно було б оцінювати, як абсолютне значення різниці між точним значенням та одержаним в програмі.


Однак, хоча й виникали певні труднощі з виконанням завдання, але це було безперечно цікаво, і багато чому мене навчили.


Література


1. В.Т.Маликов, Р.Н.Кветный. Вычислительные методы и применение ЭВМ. – К.: Вища школа, 1989.– 213 с.


2. В.М. Дубовий, Р.Н.Квєтний Методичні вказівки до лабораторних робіт з програмування та застосування ЕОМ . Навчальне видання. –Вінниця, ВПІ, 1992.


3. В.М. Дубовий, Р.Н.Квєтний. Програмування комп’ютеризованих систем управління та автоматики. - В.: ВДТУ, 1997. – 208с.


4. Р.Н.Кветний Методи комп’ютерних обчислень. Навчальний посібник.- Вінниця: ВДТУ, 2001.-148с.


5. А. І. Марченко, Л. А. Марченко “Программирование в среде Турбо Паскаль 7.0”, Київ “ВЕК+”, 1999 р.


Додаток А


Лістинг


program Kursova;


uses crt,graph;


const


a=0;


b=1;


c=1.5;


d=2;


t3:array[1..3] of real=(-0.707107,0,0.707107);


t4:array[1..4] of real=(-0.794654,-0.187592,0.187592,0.794654);


t5:array[1..5] of real=(-0.832498,-0.374541,0,0.374541,0.832498);


Type TMenuItems=array[1..10] of string;


TDelta=array[1..300] of real;


Var Item:TMenuItems;


ResM:TDelta;


i,n:integer;


h:real;


ki:integer;


M,x,Ic,I2n,nc,sc1,sc2,I1n,x1,x2:real;


s,hs,s1:string;


k:Integer;


sum,int,si:real;


Delta,AllDelta,sum1:real;


Function Fact(n:integer):integer;


begin


if n=0 then Fact:=1


else Fact:=n*Fact(n-1)


end;


{Ф-я}


function f(x1:real):real;


begin


f:=exp(-d*x1*x1+c)


end;


procedure InitGraphMode;


var gd,gm:integer;


begin


gd:=VGA;


gm:=VGAHi;


initgraph(gd,gm,'');


end;


procedure DrawCursor(x,y:integer);


var i,j:integer;


begin


setcolor(white);


setlinestyle(0,0,1);


MoveTo(x,y+3);LineTo(x+10+5,y);LineTo(x+5,y-10);LineTo(x+10+10+5,y+3);


LineTo(x+5,y+16);LineTo(x+10+5,y+6);LineTo(x,y+3);


setfillstyle(1,red);


end;


{---------------------------------------------------------------------------}


Procedure HideCursor(x,y:integer);


begin


setcolor(lightblue); {insert your background color instead of black}


setlinestyle(0,0,1);


MoveTo(x,y+3);LineTo(x+10+5,y);LineTo(x+5,y-10);LineTo(x+10+10+5,y+3);


LineTo(x+5,y+16);LineTo(x+10+5,y+6);LineTo(x,y+3);


setfillstyle(1,red);


end;


Function WaitWhileKeypressed(var FKey:boolean):char;


var result:char;


begin


FKey:=false;


while keypressed do result:=readkey; {It clears keyboard buffer}


repeat until keypressed;


result:=readkey;


if result=#0 then


begin


result:=readkey;


FKey:=true;


end;


WaitWhileKeypressed:=result;


end;


Procedure Menu(x,y:integer;Items:TMenuItems;n:integer;var point:integer);


var i:integer;


ch:char;


FKey:boolean;


begin


setbkcolor(lightblue);


setcolor(yellow);


Rectangle(10,10,625,465);


setcolor(lightgreen);


Rectangle(14,14,621,461);


setcolor(lightred);


for i:=1 to n do outtextxy(x+50,y+(i-1)*30,Items[i]);


repeat


for i:=1 to n do


if i<>point then HideCursor(x,y+(i-1)*30)


else DrawCursor(x,y+(i-1)*30);


ch:=WaitWhileKeypressed(FKey);


case ch of


#72: if point>1 then dec(point);


#80: if point<n then inc(point);


#27: point:=-1;


end;


until (ch=#13) or (ch=#27);


for i:=1 to n do HideCursor(x,y+(i-1)*30);


end;


procedure PrintArray(n:integer; m:TDelta);


var s0,s1:string;


begin


setfillstyle(1,lightblue);


bar(360,40,620,450);


for i:=1 to n do


begin


str(i,s0);


str(m[i]:5:10,s1);


if (i mod 25 =0) then


begin


readln;


bar(360,40,620,450);


end;


outtextxy(430,(i mod 25)*15+40,s0+' '+s1);


end;


end;


{-----------------------------------------------------------------------}


begin


InitGraphMode;


setcolor(blue);


h:=0.1;


repeat


cleardevice;


Item[1]:='Метод Чебишева 3-го порядку';


Item[2]:='Метод Чебишева 4-го порядку';


Item[3]:='Метод Чебишева 5-го порядку';


Item[4]:='Крок обчислень=0.1';


Item[5]:='Крок обчислень=0.2';


Item[6]:='Крок обчислень=0.5';


Item[7]:='Про автора';


Item[8]:='Вихид';


i:=1;


setcolor(white);


Menu(50,30,Item,7,i);


case i of


1:begin


setbkcolor(lightblue);x:=a; sum:=0; i:=0;


while x<=b do begin


inc(i);


x:=x+h;


si:=0;


for k:=1 to 3 do si:=si+f(x-h/2+h/2*t3[k]);


si:=h/3*si;


sum:=sum+si;


sum1:=(x-((a+b)/2))*(x-((a+b)/2))*(x-((a+b)/2))*(x-((a+b)/2))*


48*exp(-2*x*x+1.5)-384*x*x*exp(-2*x*x+1.5)+256*x*x*x*x*exp(-2*x*x+1.5);


n:=i+10;


end;


delta:=((b-a)/(n*fact(3)))*sum1;


delta:=Abs(delta);


AllDelta:=abs(delta);


str(Delta:12:10,s1);


Resm[i]:=Delta;


setcolor(red);


str(Sum:12:18,s);


str(AllDelta:12:20,s1);


str(h:2:3,hs);


setcolor(blue);


Outtextxy(100,240,'Интеграл: '+s);


Outtextxy(45,260,'Точне значення (Mathcad): 2.68069545714219');


Outtextxy(100,280,'Похибка: '+s1);


Outtextxy(100,300,'Крок: '+hs);


readln;


end;


2: begin


setbkcolor(lightblue);x:=a; sum:=0; i:=0;


while x<=b do begin


inc(i);


x:=x+h;


si:=0;


for k:=1 to 4 do si:=si+f(x-h/2+h/2*t4[k]);


si:=h/4*si;


sum:=sum+si;


sum1:=(x-((a+b)/2))*(x-((a+b)/2))*(x-((a+b)/2))*(x-((a+b)/2))*(x-((a+b)/2))*


(-960*x*exp(-2*x*x+1.5)+2560*x*x*x*exp(-2*x*x+1.5)-1024*x*x*x*x*x*exp(-2*x*x+1.5));


n:=i+10;


end;


delta:=((b-a)/(n*fact(3)))*sum1;


delta:=Abs(delta);


AllDelta:=abs(delta);


str(Delta:12:10,s1);


Resm[i]:=Delta;


setcolor(red);


str(Sum:12:18,s);


str(AllDelta:12:20,s1);


str(h:2:3,hs);


setcolor(blue);


Outtextxy(100,240,'Интеграл: '+s);


Outtextxy(45,260,'Точне значення (Mathcad): 2.68069545714219');


Outtextxy(100,280,'Похибка: '+s1);


Outtextxy(100,300,'Крок: '+hs);


readln;


end;


3:begin


setbkcolor(lightblue);x:=a; sum:=0; i:=0;


while x<=b do begin


inc(i);


x:=x+h;


si:=0;


for k:=1 to 5 do si:=si+f(x-h/2+h/2*t5[k]);


si:=h/5*si;


sum:=sum+si;


sum1:=(x-((a+b)/2))*(x-((a+b)/2))*(x-((a+b)/2))*(x-((a+b)/2))*(x-((a+b)/2))*


(x-((a+b)/2))*(-960*exp(-2*x*x+1.5)+11520*x*x*exp(-2*x*x+1.5)


-15360*x*x*x*x*exp(-2*x*x+1.5)+4096*x*x*x*x*x*x*exp(-2*x*x+1.5));


n:=i+10;


end;


delta:=((b-a)/(n*fact(3)))*sum1;


delta:=Abs(delta);


AllDelta:=abs(delta);


str(Delta:12:10,s1);


Resm[i]:=Delta;


setcolor(red);


str(Sum:12:18,s);


str(AllDelta:12:20,s1);


str(h:2:3,hs);


setcolor(blue);


Outtextxy(100,240,'Интеграл: '+s);


Outtextxy(45,260,'Точне значення (Mathcad): 2.68069545714219');


Outtextxy(100,280,'Похибка: '+s1);


Outtextxy(100,300,'Крок: '+hs);


readln;


end;


4: begin


sound(500);


setbkcolor(lightred);


h:=0.01;


Outtextxy(150,200,'Крок h=0.01 ');


Outtextxy(170,250,'Натиснить будь-яку клавишу ...');


delay(10000);


nosound;


repeat until keypressed;


end;


5: begin


setbkcolor(lightred);


h:=0.02;


Outtextxy(150,200,'Крок h=0.02 ');


Outtextxy(170,250,'Натиснить будь-яку клавишу ...');


repeat until keypressed;


end;


6: begin


setbkcolor(lightred);


h:=0.05;


Outtextxy(150,200,'Крок h=0.05 ');


Outtextxy(170,250,'Натиснить будь-яку клавишу ...');


repeat until keypressed;


end;


7: begin


setbkcolor(lightred);


Outtextxy(160,200,'Програму виконав ст.гр. 3АВ-02');


Outtextxy(210,220,'Нетяга О.В.');


repeat until keypressed;


end;


8: exit;


end;


until (i=7) or (i=-1);


CloseGraph;


end.


Додаток Б




Сохранить в соц. сетях:
Обсуждение:
comments powered by Disqus

Название реферата: Дослідження методів чисельного інтегрування

Слов:2632
Символов:28295
Размер:55.26 Кб.