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


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

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

>Вінницькийнаціональнийтехнічнийуніверситет

>Інститут автоматики,електроніки такомп’ютерних

системуправління

 

ФакультетАКСУ
КафедраАІВТ

 

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

іздисципліни

«>Обчислювальніметоди тазастосуванняЕОМ»

 

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

2006


>Анотація

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

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


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

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

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

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

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

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

 


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

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

In=>f(x)dx»Sі=>h[f(x0)+>f(x1)+...+>f(x>n-1)]=>f(xі);(1.1)

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

Iін=>f(x)dx»h[f(xn)+...+>f(x1)]=>f(xі)(1.2)

 

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

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

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

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

P.Sі=>h(f(xі)+>f(x>i+1)).(1.3)


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

>I=»Sі=>h(f(x0)+>f(x1)+>f(x2)+...+>f(x>n-1)+>f(xN)= =[(>f(x0)+>f(xn))+>f(xі)].(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)

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

(y>2n-2+>4y>2n-1+y2N),

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


[y0+y2N+>4(y1+...+y>2n-1)+>2(y2+...+y>2n-2)],

чи

[y0+y2N+>4y>2i-1+>2y>2i],(1.8)

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

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

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

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

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

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

yіHі,(1.9)

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

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

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

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

зі>f(xі),(1.10)

вякійквадратурнікоефіцієнтис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+a2x2+...+anxn.(1.12)

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

(a0+a1>x+a2x2+...+anxn)=>2(a0+a2+a3+...).(1.13)

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

>f(x1)=a0+a1x1+a2x12+a3x13+...+anx1n,

>f(x2)=a0+a1x2+a2x22+a3x23+...+anx2n,

>f(x3)=a0+a1x3+a2x32+a3x33+...+anx3n,(1.14)

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

>f(xn)=a0+a1xn+a2xn2+a3xn3+...+anxnn,


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

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

+a3(x13+x23+...+xn3)+...+an(x1n+x2n+...+xnn)].(1.15)

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

Зn=.(1.16)

й,крім цого,

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

x12+x22+x32+...+xn2=,

x13+x23+x33+...+xn3=0,(1.17)

x14+x24+x34+...+xn4=,

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

x1n+x2n+x3n+...+xnn=[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

Zі=+xі, (>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) – процедура, щоавтоматичнозабирає курсор ізекрану;

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

·Proceduremenu(x,y:integer;…varpoin: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 р.


>Додаток А

>Лістинг

>programKursova;

>usescrt,graph;

>const

>a=0;

>b=1;

>c=1.5;

>d=2;

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

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

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

>TypeTMenuItems=array[1..10] ofstring;

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

>VarItem: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;

>FunctionFact(n:integer):integer;

>begin

>ifn=0thenFact:=1

>elseFact:=n*Fact(n-1)

end;

{>Ф-я}

>functionf(x1:real):real;

>begin

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

end;

>procedureInitGraphMode;

>vargd,gm:integer;

>begin

>gd:=VGA;

>gm:=VGAHi;

>initgraph(gd,gm,'');

end;

>procedureDrawCursor(x,y:integer);

>vari,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;

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

>ProcedureHideCursor(x,y:integer);

>begin

>setcolor(lightblue); {>insertyourbackgroundcolorinstead 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;

>FunctionWaitWhileKeypressed(varFKey:boolean):char;

>varresult:char;

>begin

>FKey:=false;

>whilekeypresseddoresult:=readkey; {>Itclearskeyboardbuffer}

>repeatuntilkeypressed;

>result:=readkey;

>ifresult=#0then

>begin

>result:=readkey;

>FKey:=true;

end;

>WaitWhileKeypressed:=result;

end;

>ProcedureMenu(x,y:integer;Items:TMenuItems;n:integer;varpoint:integer);

>vari:integer;

>ch:char;

>FKey:boolean;

>begin

>setbkcolor(lightblue);

>setcolor(yellow);

>Rectangle(10,10,625,465);

>setcolor(lightgreen);

>Rectangle(14,14,621,461);

>setcolor(lightred);

>fori:=1 to ndoouttextxy(x+50,y+(i-1)*30,Items[i]);

>repeat

>fori:=1 to ndo

>ifi<>pointthenHideCursor(x,y+(i-1)*30)

>elseDrawCursor(x,y+(i-1)*30);

>ch:=WaitWhileKeypressed(FKey);

>casech of

#72:ifpoint>1thendec(point);

#80:ifpoint<ntheninc(point);

#27:point:=-1;

end;

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

>fori:=1 to ndoHideCursor(x,y+(i-1)*30);

end;

>procedurePrintArray(n:integer;m:TDelta);

>vars0,s1:string;

>begin

>setfillstyle(1,lightblue);

>bar(360,40,620,450);

>fori:=1 to ndo

>begin

>str(i,s0);

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

>if (іmod 25 =0)then

>begin

>readln;

>bar(360,40,620,450);

end;

>outtextxy(430,(imod25)*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 і of

>1:begin

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

>whilex<=bdobegin

>inc(i);

>x:=x+h;

>si:=0;

>fork:=1 to 3dosi:=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;

>whilex<=bdobegin

>inc(i);

>x:=x+h;

>si:=0;

>fork:=1 to 4dosi:=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;

>whilex<=bdobegin

>inc(i);

>x:=x+h;

>si:=0;

>fork:=1 to 5dosi:=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;

>repeatuntilkeypressed;

end;

5:begin

>setbkcolor(lightred);

>h:=0.02;

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

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

>repeatuntilkeypressed;

end;

6:begin

>setbkcolor(lightred);

>h:=0.05;

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

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

>repeatuntilkeypressed;

end;

7:begin

>setbkcolor(lightred);

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

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

>repeatuntilkeypressed;

end;

8: exit;

end;

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

>CloseGraph;

end.

 


>Додаток Б

 


Схожі реферати:

Навігація