Точність квадратурних формул

Погрішність квадратури і збіжність квадратурного процесу. Прості формули Ньютона-Котеса і вживання їх для підвищення точності інтегрування шляхом розділення відрізка на частини. Сутність принципу Рунге. Програма, що реалізовує обчислення інтеграла.

Рубрика Математика
Вид курсовая работа
Язык украинский
Дата добавления 23.04.2011
Размер файла 345,6 K

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

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

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

9

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

Одеський національний університет ім. І.І. Мечникова

Інститут математики, економіки та механіки

Кафедра обчислювальної математики

КУРСОВА РОБОТА

На тему: «Точність квадратурних формул»

Студентка 3 курсу групи ОТ

Слатвінська Олена Дмитрівна

Керівник: доцент, кандидат фіз.-мат наук

Кононов В.О.

Одеса 2010

План

Введення

1. Погрішність квадратури і збіжність квадратурного процесу

2. Квадратурні формули з рівновіддаленими вузлами

3. Прості формули Ньютона - Котеса і вживання їх для підвищення точності інтегрування шляхом розділення відрізка на частини

4. Принцип Рунге

5. Чисельна реалізація квадратурних формул

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

7. Приклади роботи програми

Висновок

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

Введення

Нехай [a,b] будь-який кінечний чи безкінечний відрізок чисельної осі, і розглядається інтеграл:

Нехай ми ставимо своїм завданням найти наближене його значення по n значеннях F(xi) функції F в точках xi (i = 1,…, n).

Багато правил наближеної квадратури засновано на заміні інтегрованої функції F на всьому відрузку [a,b] або на його частинах на більш простішу функцію ?, близьку до F, легко інтегровану і яка приймає в узлах xi ті

ж значення F(xi), що і F. Таку функцію беруть в вигляді чи алгебраїчного многочлена від х, чи раціональної функції, чи тригонометричного многочлена и т. д. в залежності від задачі. Всі ці додаткові функції ? аналітичні і володіють великою гладкістю зміни.

Коли відрізок інтегрування кінечний чи інтегральна функція F має високу гладкість, то можна хорошо приблизити її многочленом невисокої степені чи нескладною раціональною функцією. Якщо ж сама функція F чи її похідні невисоких порядків мають особливості або навіть переходять в безкінечність, то це затруднить наближення F або зробить його взагалі неможливим. У цьому випадку ми повинні будемо заздалегідь звільнитися від таких особливостей шляхом їх виділення. Робиться це за допомогою розкладання F на два співмножники F(x)= р(х)* f(x), де р(х) має такі ж особливості, як і F(x), а f(x) є гладкою функцією, і інтеграл розглядається у формі

(1)

Функція р(х) в (1) називається ваговою функцією або вагою. При побудові обчислювального правила для (1) вона вважається фіксованою, і тому правила, про які говоритиметься нижче, в більшості будуть спеціалізованими, і кожне з них буде призначено для чисельного інтегрування функцій, що мають особливості одного і того ж типу, визначуваного вагою р(х). Функція f(x) передбачається будь-якою досить гладкою на [а,b]. Будуватимемо формули обчислень вигляду:

?, xi Є [a,b].(2)

Величини Ak називаються квадратурними коефіцієнтами, xk - квадратурними вузлами і права частина (2) - квадратурною сумою. Формула має 2n + 1 параметрів:

n, Ak , xk (k = 1, 2, … , n)

і їх слід вибрати так, щоб формула давала можливо кращий результат при інтеграції вибраного класу функцій f.

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

1) Збільшення міри точності.

Розглянемо систему лінійно незалежних функцій ?n(x) (n=0,1,2…) таких, що p(x) ?п(x) були абсолютно інтегровані на [а,b] .

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

Sn(x) =

За міру близькості між f і Sn приймемо величину

? (f , Sn) =

Система ?n(x) називаєтся повною в множині F, якщо для всякого ? > 0 існує така лінійна комбінація Sn, що виконується нерівність ? (f , Sn) < ?.

Якщо система ?n(x) володіє властивістю повноти, то з нерівності

витікає, що інтеграл (1) може бути вичислений скільки завгодно точно за допомогою заміни f на лінійну комбінацію Sn, складену при належному виборі n і Аk (k = 0,1 ... , n). Це дозволяє чекати, що якщо ми зможемо можливо точніше інтегрувати функції ?n, то ми одночасно зможемо добре інтегрувати всяку функцію f є F . Говорять, що формула (2) має міру точності n, якщо вона є точною для функцій ?і (і = 0, 1, ... , n):

= (і = 0, 1, ... , n),

и не є точною для ?n+1

Можна прагнути до того, щоб за допомогою вибору параметрів Ak і xk зробити міру точності формули (2) найвищою. Оскільки число параметрів Ak і xk рівне 2n, тобто надія досягти того, що формула (2) буде мати міру точності 2n-1, і можна передбачати, що така міра точності є, як правило, найвищою.

2) Мінімізація погрішності.

Розглянемо погрішність квадратурної формули (2)

(3)

За величину, що характеризує точність формули на множині F функцій f може бути взята верхня границя абсолютного значення Rn:

|Rn(f)| = M(A1,… An; x1, … xn).

Вона залежить від вибору вузлів xk і коефіцієнтів Ak, і їх можна вибрати так, щоб величина M мала найменше значення. Таке завдання цікаве головним чином в теоретичному відношенні і не привело ще до корисних для практичних обчислень результатів.

3) Спрощення обчислень.

Можна за допомогою вибору параметрів Ak і xk прагнути зробити простішими обчислення за формулою (2). Наприклад, можна вибрати, що роблять незрідка, вузли xk рівновіддаленими, поклавши xk = а + kh, h = (b-а)/n і застосовувати формулу

?

Вибираючи в ній коефіцієнти Ak за якими-небудь правилами.

Для спрощення рахунку можна зажадати рівності коефіцієнтів і розглядати наступну формулу

= C [ f(x1) + … + f(xn) ].

Вона містить n+1 параметрів C і xk (k = 0, 1 ..., n), які можна спробувати вибрати так, щоб така формула мала міру точності не нижче n.

1. Погрішність квадратури і збіжність квадратурного процесу

Погрішність квадратурної формули (2) має вигляд:

Величина погрішності залежить, очевидно, від властивостей функції f і вибору формули, тобто від її вузлів xk і коефіцієнтів.

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

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

таблицею вузлів Rn(f) > 0 (n > ?).

и таблицею коефіцієнтів

У проблемі збіжності доводиться мати справу з трьома об'єктами: класом F функцій f і двома таблицями Х і А; необхідно буває з'ясувати, як вони мають бути зв'язані між собою для того, щоб залишок Rn(f) > 0 при n > ?.

2. Квадратурні формули з рівновіддаленими вузлами

інтеграл квадратура рунге програма

У обчисленні часто вузлами xk беруться рівновіддалені. Інтерполяцію квадратури з такими вузлами прийнято називати формулою Ньютона- Котеса в пам'ять того, що вперше вони в досить загальній формі були розглянуті Ньютоном, коефіцієнти ж для них у випадки постійної вагової функції знайдені Котесом при n = 1, 2, … ,10. Передбачимо, що відрізок інтеграції кінцевий; розділимо його на n рівних частин довжини , і точки ділення візьмемо за вузли інтерполяційної формули, яку запишемо у формі

(9)

де

Якщо замість x взяти t, поклавши x = а + th (0 ? t ? n), можна спростити вираження Bkn :

Для постійної вагової функції p(x)? 1формула Ньютона - Котеса має вигляд

(11)

У таблиці приведені значення коефіцієнтів Bkn формули (11) для ряду значень n аж до n = 7. Оскільки при кожному n має місце співвідношення симетрії Bkn = Bт-kn, то в таблицю включені лише коефіцієнти з індексом

n k

0

1

2

3

1

2

3

4

5

6

7

1/2

1/6

1/8

7/90

19/288

41/840

751/17280

4/6

3/8

32/90

75/288

216/840

3577/17280

12/90

50/288

27/840

1323/17280

272/840

2989/17280

Відносно Bkn відзначимо наступні факти без доказу:

1) Серед Bkn (k = 0, 1 ., n) для n ? 10 існують негативні. Щоб пояснити значення цього факту, відзначимо, що при обчисленні суми, що стоїть справа в (9) користуються, як правило, наближеними значеннями f . Хай всі вони відомі з погрішністю ?. Погрішність, яка може вийти при складанні суми повина бути оцінена величиною .

Відмітимо, що сума при будь-якому n рівна 1; це одразу ж слідує з (11) при f ? 1. Наявність же серед Bkn (k = 0, 1, … , n) негативних чисел викликає збільшення і можливої погрішності .

Наскільки швидким є зростання при збільшенні n, можна спостерігати по наступним цифрам:

при n = 10 ? 3,1

при n = 15 ? 8,3

при n = 20 ? 560

Тому при використанні формул Ньютона - Котеса (9) для n = 15 при складеній квадратурній сумі можна втратити в точності один десятий розряд, тоді як для n = 20 можуть бути втрачені в точності три десятичних розряда.

2) При великих значеннях n коефіцієнти Bkn мають наступний вигляд:

Як видно звідси, для n будуть часто зустрічатися випадки, коли суміжні коефіцієнти Bkn и Bk+1n будуть мати більші абсолютні значення та протилежні знаки. Тому при n >> 1 сума буде більшою та бистро зростаючою величиною. Це означає, що при великих n формули Ньютона - Котеса стають малопридатними для обчислень.

Звернемо ще увагу на деякі властивості формули (10) без їх детально розгляду.

1) Коефіцієнти Bkn відповідають вузлам, рівновіддаленим від кінців відрізка інтегрування а і b, рівні між собою:

Bjn = Bn-jn (j = 0, 1, … ). (13)

Ця властивість може бути перевірене обчисленнями, але легко можна передбачати, оскільки при всякій ваговій функції, значення якої розподілені симетрично відносно середини відрізання [а,b], зокрема при постійній ваговій функції, в коефіцієнтів Bjn і Bn-jn немає підстав мати різні значення.

2) Вище ми звертали увагу на те, що інтерполяційна формула квадратури з n вузлами характеризується тим, що вона є точною для многочленів степені більшою n-1, яка б не була вагова функція р(х) і якими б не були розташовані вузли. У формулі (11) є n+1 вузол і вона є точною для всяких многочленів степені n. Природно з'ясувати, чи може вона бути точною для всіх многочленів степені більшої n.

Виявляється, що відповідь тут залежить від парності або непарності числа вузлів n+1. Якщо число вузлів n+1 є парним, то квадратурна формула (11) не може бути справедливою для многочленів степені n+1, і n є мірою точності правила (11).

Коли число вузлів n+1 непарне, то один з вузлів розташовується на середині відрізка інтерполяції [а,b], останні ж вузли лежать симетрично відносно с. Розглянемо многочлен , який має степінь n+1. Він непарний відносно точки с:

и для нього = 0. Зважаючи на непарність і властивість (13) для коефіцієнтів Bkn, для буде рівна 0 права частина (11) і, отже, рівністі (11) точна. Але так як ця рівність точна для будь-якого многочлена степені n, то вона буде точною для будь-якого многочлена степені n+1.

Можна перевірити, що (11) не може бути точною для многочлена степені n+2. Тому n+1 - міра точності формули (11).

3. Прості формули Ньютона - Котеса і вживання їх для підвищення точності інтегрування шляхом поділу відрізка на частини

Для підвищення точності інтегрування відрізок [а,b] часто ділять на декілька частин, потім застосовують вибрану квадратурну формулу до кожної окремої частини і результати складають. Цей метод є загальним і його можна використовувати при вживання всякої квадратурної формули. Він заснований на простих міркуваннях, які можна пояснити на прикладі будь-якої формули. Для багатьох формул наближеної квадратури погрішність Rn(f) залежить від величини відрізка інтегрування, як буде видно в подальшому викладі, по наступному простому закону:

(1)

де C(a,b) - повільно змінююча функція від а,b і k - ціле позитивне число. Така залежність показує, що якщо ми зменьшимо відрізок інтегрування в p разів, то Rn(f) при цьому зменшиться приблизно в pk разів, і якщо k є чимале число, це зменшення може бути значним.

Для обчислення інтеграла по всьому відрізку [а,b] розділимо його на p рівних частин і обчислимо за допомогою вибраної формули інтеграли по всіх часткових відрізках. У кожному випадку погрішність буде приблизна в pk разів менше, ніж (1). При складанні всіх таких інтегралів вийде результат, погрішність якого буде приблизно в pk-1 разів менше, ніж погрішність (1), коли формули квадратури застосовується для обчислення інтегралів по всьому відрізку [а,b]. Якщо k > 1,відбудиться зменшення погрішності тим більше, чим більше k. Описаний спосіб збільшення точності застосуємо зараз до простих формул Ньютона - Котеса.

Формула прямоугольников

Знаходження інтеграла рівносильне обчисленню площі деякої фігури - криволінійной трапеції з паралельними «основами» x = а, x = b і «бічними сторонами» у = 0, у = f(x). Розіб'ємо інтервал інтегрування на n рівних частин, кожна завдовжки

.

Наближене значення інтеграла виходить у вигляді суми площ n прямокутників, висота яких дорівнює значенню f(x) на лівому краю кожного підінтервалу.

hy0+hy1+…+hyn-1 = h(y0+y1+…+yn-1).

Тобто формула чисельного інтегрування має вигляд:

і називається формулою «лівих» прямокутників.

Якщо як наближене значення площі для кожного підінтервалу прийняти площу прямокутника, висота якого дорівнює значенню f(x) на правому краю підінтервала, то формула чисельного інтегрування має вигляд:

і називається формулою «правих» прямокутників.

Існує третя модифікація методу прямокутників - метод «середніх» прямокунків. В цьому випадку як наближене значення площі для кожного підінтервалу приймається площа прямокуника, висота якого дорівнює значенню f(x) в середній точці

Тоді формула чисельного інтегрувания має вигляд:

Метод прямокутників - це найбільш простий і в той же час найбільш грубий метод наближеного інтегрування. Очевидно, що чим більше буде число n відрізків розбиття, тим більш точний результат дадуть формули. Проте збільшення числа відрізків розбиття не завжди можливо. Тому великий інтерес представляють формули, що дають точніші результати, при тому ж числі точок розбиття. Помітно меншу погрішність дає інший метод - метод трапецій.

Формула трапецій

Нехай лінійна інтерполяція виконується по двум значенням f(а) і f(b), що приймає функція f на кінцях відрізках [а,b].

Рівність

В цьому випадку має вигляд:

(2)

Це відома формула трапецій. Погрішність її буде такою

Якщо друга похідна непреривна на [а,b], то, оскільки множник зберігає знак на [а,b], існує на [а,b] така точка ?, для якої

Чи, після вичислення інтеграла,

(a ? ? ? b).

Для збільшення точності формули трапеції (2), розіб'ємо [a,b] на n рівних частин довжини і розглянемо частковий відрізок . Формула (2) для нього дає

Сума інтегралів по всім частковим відрузкам дасть загальну квадратурну формулу трапеції

(4)

Величина - середнє арифметичне, складене з n значень другої похідної f'' і воно лежить десь між цими значеннями. Другу похідну f'' ми передбачаємо непрервною на [а,b] функцією, і вона набуває всіх проміжних значень. Тому існує така точка ?, що

(a ? ? ? b).

Формула парабол

Нехай n=2 і інтерполяція f виконується по трьох її значенням в точках а, c= ?(a+b) і b. Інтерполюючий многочлен має, взагалі кажучи, другу степінь, і його графіком є парабола. Формула (2) тут має вигляд

(5)

І називається формулою парабол чи формулой Сімпсона.

Геометрична інтерпретація методу парабол

Вона точна для всякого многочлена другої степені і так як вона, очевидно, є точною для так як в цьому випадки ліва і права частини в (5) перетворюються на нуль, то вона точна для многочленів третьої степені.

Для знаходження погрішності формули (5) розглянемо многочлен P3(x) третьої степені, що задовольняє умовам:

Він інтерполює f(x) по значенням в двох однократних вузлах а і b і по значеннях f(c), f'(c) в подвійному вузлі c:

Для P3(x) рівність (5) є точною, і тому

Погрішність формули парабол має значення

Якщо вважати, що f має на [а,b] непреривну похідну четвертого порядку, то для r(x) рівність

(a ? x,? ? b)

(6)

Так як множник не змінює знак на відрізку [a,b] і f(4)(х) безперервна функція при a ? х ? b, на [a,b] існує точка ? така, що

(7)

Теперь отримаєм загальну формулу парабол. Розіб'ємо [a,b] на парне число n рівних частин довжини і візьмемо здвоєний частковий відрізок . Формула парабол буде наступною:

Якщо такі рівності написати для відрізків [a, a+2h], [a+2h, a+4h] ,…і їх скласти, отримаєм загальну формулу парабол

(8)

Так як f(4) непреривна на [a,b] існує точка ? така, що

Для R(f) справедлива формула:

(a ? ? ? b) (9)

Формула трьох-восьмих

При n=3 інтерполяція f по значеннях її в точках . Формула буде наступною

Її часто називаюсь «формулою трьох-восьмих». Степінь точності рівна 3. Погрішність формули можне бути, якщо f(4) непреривна і мало змінна на [a,b] функція, представлена в вигляді

Зупинимося на застосуванні формули «трьох-восьмих» для побудови формул наближеного інтегрування при великому числі рівновіддалених вузлів.

Нехай n число, кратне трьом. Розіб'ємо [a,b] на n рівних частин довжини . Візьмемо строєний відрізок і до інтегрування по ньому застосуємо формулу трьох-восьмих:

Якщо такі рівності записати для всіх стаєнних відрізків ,

, … і скласти їх почлено, побудуємо загальну формулу трьох-восьмих:

Погрішність R(f) має наступне значення:

Множник це середнє арифметичне, складене з п/3 значень четвертої похідної, і так як f(4) вважається непереривною функцією, то на [a,b] існує точка ? така, що цей множник рівний f(?). Для погрішності R(f) остаточно отримаємо співвідношення:

4. Принцип Рунге

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

Нехай для обчислення інтеграла

застосовується одна з квадратурних формул з кроком h (числом вузлів n). Передбачаємо, що відомий порядок точності p вживаної формули. Позначимо через Sh наближене значення інтеграла, отримане по цій формулі з кроком h, а через Sh/2 з кроком в два рази меншим (числом вузлів в два рази більшим), тоді

Для досягнення заданої точності ? при обчисленні інтеграла вибирають деякий крок h (фіксують число вузлів n), вічисляють Sh, потім послідовно зменшуючи крок в два рази (збільшуючи удвічі число вузлів) обчислюють Sh/2 до тех пір, поки не буде виконуватися співвідношення

При досягненні цього співвідношення вважають

5. Чисельна реалізація квадратурних формул

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

Для формули трапецій. Нехай потрібно обчислити інтеграл за допомогою формули трапецій з оцінкою погрішності за принципом Рунге. Для того, щоб не повторювати роботу при обчисленні Sh/2 обчислюватимемо її за допомогою Sh.

Нехай знайдено значення Sh для крока з n вузлами, n ? 1:

Позначемо

Sh = hWh

Добавимо ще n точок, тоді [a,b] розіб'ємо на частини з кроком . З'являться нові точки . Значення функції в них буде

Після цього вичислимо

Поклавши і враховуючи Wh, отримаємо формулу

Таким чином, обчислення , , при послідовному ділені навпіл крока проводимо так. Позначимо

Потім рахуємо

Вважаючи j = 2,3…, находимо S. Контроль точності здійснюється за допомогою співвідношення

Як тільки ми доб'ємося, виконання цього співвідношення, послідовно зменшуючи крок навпіл, вважаємо

Співвідношення контроля точності можна перетворити так

Таким чином, співвідношення буде виглядати

Отож, алгоритм обчислення інтеграла із заданою точністю ? по формулі парабол з контролем точності за принципом Рунге виглядає так:

1. Ділим крок навпіл, збільшуючи ? на 1.

2. Рахуємо

3. Перевіряємо умову

4. Якщо умова 3 не виконується, то повторюємо команду 1 і продовжуємо процес.

5. Якщо умова 3 виконується, вважаєм

Обчислення закінчені

Для формули парабол. Нехай потрібно обчислити інтеграл за допомогою формули парабол з оцінкою погрішності за принципом Рунге. Для того, щоб не повторювати роботу при обчисленні Sh/2 обчислюватимемо її за допомогою Sh.Нехай обчислено значення Sh для кроку з 2m вузлами, m ? 1:

Позначемо

Додамо ще m точок, тоді [a,b] розіб'ємо на частини з кроком . З'являться нові точки . Значення функції в них буде

Після цього вичислимо

і враховуючи позначення, отримаємо формулу

Таким чином, обчислення , , при послідовному ділені навпіл крока проводимо так. Позначемо

Потім рахуємо

Вважаючи j = 2,3…, находимо S. Контроль точності здійснюється за допомогою співвідношення

Як тільки ми доб'ємося, виконання цього співвідношення, послідовно зменшуючи крок навпіл, вважаємо

Співвідношення контроля точності можна перетворити так

Таким чином, співвідношення буде виглядати

Разом, алгоритм обчислення інтеграла із заданою точністю ? по формулі парабол з контролем точності за принципом Рунге виглядає так:

6. Ділимо крок навпіл, збільшуючи ? на 1.

7. Рахуємо

8. Перевіряємо умову

9. Якщо умова 3 не виконується, то повторюємо команду 1 і продовжуємо процес.

10. Якщо умова 3 виконується, вважаємо

Обчислення закінчені

Для формули трьох-восьмих. Нехай потрібно обчислити інтеграл за допомогою формули трьох-восьмих з оцінкою погрішності за принципом Рунге. Для того, щоб не повторювати роботу при обчисленні Sh/2 обчислюватимемо її за допомогою Sh.Нехай обчислено значення Sh для кроку з 3m вузлами, m ? 1:

Позначемо

Додамо ще m точок, тоді [a,b] розіб'ємо на частини з кроком . З'являться нові точки . Значення функції в них буде

Після цього вичислимо

Вважаючи і враховуючи позначення, отримаємо формулу

Таким чином, обчислення , , при послідовному ділені навпіл крока проводимо так. Позначемо

Потім рахуємо

Вважаючи j = 2,3…, находимо S. Контроль точності здійснюється за допомогою співвідношення

Як тільки ми доб'ємося, виконання цього співвідношення, послідовно зменшуючи крок навпіл, вважаємо

Співвідношення контроля точності можна перетворити так

Таким чином, співвідношення буде виглядати

Разом, алгоритм обчислення інтеграла із заданою точністю ? по формулі парабол з контролем точності за принципом Рунге виглядає так:

11. Ділимо крок навпіл, збільшуючи ? на 1.

12. Рахуємо

13. Перевіряємо умову

14. Якщо умова 3 не виконується, то повторюємо команду 1 і продовжуємо процес.

15. Якщо умова 3 виконується, вважаємо

Обчислення закінчені

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

Програма реалізована на Visual С#

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

namespace ConsoleApplication1

{

class Program

{

static private double f(double x)

{

double f = x;//функція,від якої ми вичисляємо интеграл

return f;

}

static private double right(double a, double b, double eps)

{

double I1;

double n = 1;

double I = 0;

do

{

I1 = I;

I = 0;

n = n * 2;

double h = (b - a) / n;

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

{

I = I + f(a + i * h) * h;

}

}

while (Math.Abs(I1 - I) < 3 * eps);

return I;

}

static private double left(double a, double b, double eps)

{

double I1;

double n = 1;

double I = 0;

do

{

I1 = I;

I = 0;

n = n * 2;

double h = (b - a) / n;

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

{

I = (I + f(a + i * h)) * h;

}

}

while (Math.Abs(I1 - I) < 3 * eps);

return I;

}

static private double middle(double a, double b, double eps)

{

double n = 1;

double I = 0;

double I1;

do

{

I1 = I;

I = 0;

n = n * 2;

double h = (b - a) / n;

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

{

I = I + f((a + i * h) + h / 2) * h;

}

}

while (Math.Abs(I1 - I) < 3 * eps);

return I;

}

static private double simpson(double a,double b,double eps)

{

double E = 45 * eps;

double h = (b - a) / 2;

double w = f(a) + f(b);

double v = 2 * f(a + h);

double sigma = 0;

double w_1 = 0;

double v_1 = 0;

double n = 1;

do

{

n = n + 1;

h = h / 2;

sigma = sigma + 1;

w_1 = w + v;

for (int k = 1; k < Math.Pow(2, sigma); k++)

{

v_1 = v_1 + 2 * f(a + (2 * k - 1) * h / 2);

}

}

while (h / 2 * Math.Abs(-w_1 + 2 * (v_1 - v)) <= E);

double I = h / 2 * (w_1 + 2 * v_1);

return I;

}

static private double trap(double a, double b, double eps)

{

double E = 45 * eps;

double h = (b - a);

double w = (f(a) + f(b)) / 2 * h;

double sigma = 0;

double w_1 = 0;

double v_1 = 0;

int n = 1;

do

{

h = h / 2;

n = n + 1;

sigma = sigma + 1;

w_1 = w;

for (int k = 1; k < n; k++)

{

v_1 = v_1 + f(a + (2 * k - 1) * h);

}

}

while (Math.Abs(-w + v_1) < E);

double I = h * (w + v_1);

return I;

}

static private double tree8(double a, double b, double eps)

{

double E = 45 * eps;

double h = (b - a) / 2;

double w = f(a) + f(b);

double v = 2 * f((a + b) / 2);

double sigma = 0;

double w_1 = 0;

double v_1 = 0;

double n = 1;

do

{

n = n + 1;

h = h / 2;

sigma = sigma + 1;

w_1 = w + 3 * v;

for (int k = 1; k < Math.Pow(2, sigma); k++)

{

v_1 = v_1 + 2 * f(a + (3 * k - 1) * h / 2);

}

}

while (3 * h / 8 * Math.Abs(-w_1 + 2 * (v_1 - v)) < E);

double I = 3 * h / 8 * (w_1 + v_1);

return I;

}

static void Main(string[] args)

{

double a, b, eps;

Console.WriteLine("Введите начало отрезка:");

a = Convert.ToDouble(Console.ReadLine());

Console.WriteLine("Введите конец отрезка:");

b = Convert.ToDouble(Console.ReadLine());

Console.WriteLine("Введите точность:");

eps = Convert.ToDouble(Console.ReadLine());

double I = right(a, b, eps);

Console.WriteLine("Ответ с помощью метода правых прямоугольников:{0}", I);

double I_1 = left(a, b, eps);

Console.WriteLine("Ответ с помощью метода левых прямоугольников:{0}", I_1);

double I_2 = middle(a, b, eps);

Console.WriteLine("Ответ с помощью метода среднх прямоугольников:{0}", I_2);

double I_3 = simpson(a, b, eps);

Console.WriteLine("Ответ с помощью метода Симпсона:{0}", I_3);

double I_4 = trap(a, b, eps);

Console.WriteLine("Ответ с помощью метода трапеций:{0}", I_4);

double I_5 = tree8(a, b, eps);

Console.WriteLine("Ответ с помощью метода трех-восьмых:{0}", I_5);

}

}

7. Приклади роботи програми

Розглянемо деякі приклади:

Приклад 1:

Нехай f(x) = x

Тоді відповідь буде такою:

«Введите начало отрезка:

1

Введите конец отрезка:

2

Введите точность:

0,00001

Ответ с помощью метода правых прямоугольников:1,25

Ответ с помощью метода левых прямоугольников:1

Ответ с помощью метода средних прямоугольников:1,5

Ответ с помощью метода Симпсона:1,3125

Ответ с помощью метода трапеций:1,5

Ответ с помощью метода трьох-восьмых:1,359375»

Приклад 2:

Нехай f(x) = e cos x

Тоді відповідь буде такою:

«Введите начало отрезка:

0,215

Введите конец отрезка:

1,523

Введите точность:

0,001

Ответ с помощью метода правых прямоугольников:2,98454541087975

Ответ с помощью метода левых прямоугольников:2,38344184532759

Ответ с помощью метода средних прямоугольников:2,48349951363676

Ответ с помощью метода Симпсона:2,88572722188032

Ответ с помощью метода трапеций:2,83208936910004

Ответ с помощью метода трьох-восьмых:2,43517034215551»

Приклад 3:

Нехай f(x) =

Тоді відповідь буде такою

«Введите начало отрезка:

1

Введите конец отрезка:

2

Введите точность:

0,001

Ответ с помощью метода правых прямоугольников:0,735983477682061

Ответ с помощью метода левых прямоугольников:0,485983556949103

Ответ с помощью метода средних прямоугольников:0,479409872689628

Ответ с помощью метода Симпсона:0,94331481839893

Ответ с помощью метода трапеций:0,482796255626646

Ответ с помощью метода трьох-восьмых:0,49794521678546»

Висновок

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

В ході я розробила алгоритм рішення задачі. По цьому алгоритмові була написана програма на Visual C#.

Були отримані результати роботи усіх методів, по яким видно, що результати інтегрування збігаються з заданою точністю.

Програма повністю працездатна, що видно з результатів тестування.

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

1. «Обчислювальні методи», том 1, В.І. Крилов, В.В. Бобков, П.І. Монастирний, видавництво «Наука», Москва, 1976

2. Методичні вказівки і учбові завдання з курсу «Методи обчислень і обчислювальний практикум» для студентів, частина 1, Р.В. Загайнова, В.О. Кононов, Одеса ОДУ, 1990

3. «Чисельні методи», том 1, С.В. Бахвалов, видавництво «Наука», Москва, 1973

4. «Наближене обчислення інтегралів», В.І. Крилов, видавництво «Наука», Москва, 1967

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


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

  • Будування сіткової функції. Методи прямокутників і трапецій, підвищення їх точності. Інтерполяційний многочлен Лагранжа другого степеня. Формула Сімпсона для чисельного інтегрування. Похибка формули Сімпсона. Обчислення наближеного значення інтеграла.

    презентация [99,6 K], добавлен 06.02.2014

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

    презентация [617,4 K], добавлен 06.02.2014

  • Поняття інтеграла Фур’є для функції дійсної змінної. Різні форми запису формули. Головне значення інтеграла та комплексна форма запису. Лінійне перетворення оберненого перетворення Фур’є. Алгоритм доведення ознаки Діні про початкову збіжність функції.

    курсовая работа [662,1 K], добавлен 27.04.2014

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

    курсовая работа [956,4 K], добавлен 29.04.2011

  • Класифікація методів для задачі Коші. Лінійні багатокрокові методи. Походження формул Адамса. Різницевий вигляд методу Адамса. Метод Рунге-Кутта четвертого порядку. Підвищення точності обчислень методу за рахунок подвійного обчислення значення функції.

    презентация [1,6 M], добавлен 06.02.2014

  • Криволінійний інтеграл по довжині дуги. Обчислення визначеного інтеграла. Параметричні рівняння кривої. Властивості криволінійного інтеграла першого роду. Форми шляху інтегрування. Властивості визначеного інтеграла. Зміна напряму руху по кривій.

    лекция [169,5 K], добавлен 30.04.2014

  • Точне знаходження первісної й інтеграла для довільних функцій. Чисельне визначення однократного інтеграла. Покрокові пояснення алгоритму методу Чебишева, реалізованого засобами програмування СКМ Mathcad. Знаходження інтегралу за допомогою панелі Calculus.

    курсовая работа [390,8 K], добавлен 19.05.2016

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

    презентация [467,7 K], добавлен 23.02.2013

  • Умови та особливості використання модифікованого методу Ейлера для отримання другої похідної в кінцево-різницевій формі. Два обчислення функції за крок. Метод Ейлера-Коші як частковий випадок методу Рунге-Кутта. Метод четвертого порядку точності.

    презентация [171,0 K], добавлен 06.02.2014

  • Розгляд найбільш відомих скінченно-різнецевих методів рішення рівнянь руху з непереривною силою: чисельна ітерація рівнянь Ньютона; алгоритм Бімана і Шофілда; метод Рунге-Кутта; методи Адамса, Крилова, Чаплигіна. Програма Рунге-Кутта на мові С#.

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

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