Для обчислення значення інтеграла, хоча і наближеного, існує прекрасний метод, названий на честь його творця, – метод Сімпсона. Він також називається способом парабол, бо в ньому використовується побудова параболи. Дана фігура будується максимально наближено до функції. Власне, так як побудувати параболу, у якої точки точно збігаються з точками функції, неможливо, інтеграл і знаходиться наближено. Формула знаходження його з межами a і b виглядає ось так: 1/h*(y0+4y1+2y2+4y3+…+4yN-1+yN). Тут нам потрібно просто обчислювати кожен y від 0 до n, де n ми визначаємо самі – чим більше, тим краще, адже чим більше буде y-ів, тим більш наближене до істинного у нас значення вийде. Що стосується h, то це крок, і розраховується за такою формулою: (b-a)/(n-1).
В теорії все досить просто, але потрібно було б реалізувати це на практиці. Для багатьох програмістів немає кращого способу для рішення такої задачі, як метод Сімпсона – Паскаль або Делфі. В цьому середовищі можна дуже просто не тільки обчислити інтеграл, а й побудувати до нього графік функції і навіть вибудувану до неї трапецію. Отже, розберемося, як можна швидко реалізувати метод Сімпсона і при бажанні навіть самим пояснити, як тут і що організовано, всім зацікавленим.
Але перед цим згадаємо, як виглядає інтеграл. Це фігура, яка обмежена лініями, що починаються на осі іксів, тобто а і b.
Отже, для початку в програмі потрібно створити функцію для інтегрується функції (вибачте за тавтологію), в якій просто потрібно написати f:= і те, для чого будемо знаходити інтеграл. Тут дуже важливо не помилитися у введенні функції на мові Паскаль. Але це окрема тема для розмови. Отриманий код буде виглядати приблизно так:
Більше:
Розширення "Економія трафіку Google Chrome
У статті піде мова про те, як здійснюється економія трафіку в Google Chrome. Цей режим ще називають "Турбо", і його практично кожен спостерігав в таких браузерах, як Yandex Browser або Opera. Проте в Google Chrome даний компонент відсутній, і заощади...
Смайли в "Скайпі" - опис, застосування, секрети
Skype - програма, якою користуються багато людей. Вона призначена спеціально для спілкування і обміну даними. Як і будь-який інший месенджер, "Скайп" оснащений чудовим інтерфейсом і графічними елементами. Тут можна виражати емоції різними способами. ...
Ресурс вогняна сіль в "Скайриме"
Матеріал у грі «Скайрим» вогняна сіль має ряд застосувань, які будуть корисні для гравця. Цей предмет можна дістати кількома способами, які варто знати користувачу. Стаття надає всю потрібну інформацію з цього ресурсу.ВидобутокУ проекті ж...
Function f(x:real):real;
І основний текст функції
Begin
F:=25*ln(x)+sin(10); {ось тут і треба написати вміст своєї функції}
End;
Далі напишемо функцію для реалізації методу Сімпсона. Початок буде приблизно таке:
Function simpsonmetod(a,b:real;n:integer):real;
Далі оголосимо змінні:
Var
S:real; { Проміжні суми (далі зрозумієте) }
H:real; { Крок }
My:integer; { Просто лічильник }
Mno:integer; { Чергові множники }
А тепер, власне, сама програма:
Begin
H:=(b-a)/(n-1); { Розраховуємо крок за стандартною формулою. Іноді в завданні пишеться крок, в такому випадку ця формула не застосовується }
S:= f(b)+ f(a); { Задається початкове значення кроку }
Mno:=4; { Згадайте формулу - 1/h*(y0+4y1… ось ця 4 тут і пишеться, другий множник 2, але про це далі }
Тепер та сама основна формула:
For my:=1 to n-2 do begin
S:=s+mno*f(a+h*м); { До суми додаємо черговий множник, помножений на 4*yN або 2* yN }
If (mno=4) then mno:=2 else mno:=4;{ Тут і змінюється множник - якщо зараз дорівнює 4, то змінюється на 2 і навпаки}
End;
Simpsonmetod:=s*h/3; { Далі отриману в результаті циклу суму множимо на h/3 згідно з формулою}
End.
Ось і все – робимо всі дії згідно з формулою. Якщо ви ще не зрозуміли, як застосувати в основній програмі метод Сімпсона, приклад вам у цьому допоможе.
Отже, після написання всіх функцій пишемо
Begin
N:=3; { Задаємо n }
Q:=simpsonmetod(a,b,n); { Так як метод Сімпсона полягає в тому, щоб обчислювати інтеграл від a до b, буде кілька кроків обчислення, тому організовуємо цикл }
Repeat
Q2:=q; { Запам'ятовується попередній крок }
N:=n+2;
Q:=simpsonmetod(a,b,n); { І розраховується наступне значення }
Until abs(q-q2)<0.001);{ В завданні пишеться точність, тому поки не буде досягнена необхідна точність, потрібно повторювати ті ж дії }
Ось такий він – метод Сімпсона. Насправді нічого складного, пишеться все дуже швидко! А тепер відкривайте свій Турбо Паскаль і починайте писати програму.
Article in other languages:
KK: https://tostpost.com/kk/komp-yuterler/12332-nede-d-s-simpson-zh-ne-ony-paskal.html
Alin Trodden - автор статті, редактор
"Привіт, Я Алін Тродден. Я пишу тексти, читаю книги і шукаю враження. І я непогано вмію розповідати вам про це. Я завжди радий брати участь у цікавих проектах."
Новини
Гра Portal: проходження другої частини
На самому початку гра Portal здається заплутаною. Перше враження від того, що відбувається дуже розмито. Спочатку необхідно озирнутися і прислухатися до слів штучного інтелекту, керуючого системою. У режимі навчання проходимо в по...
Ігрові чити "В тилу ворога 2: Штурм"
У багатьох стратегіях існує можливість вводити чит-коди, що значно полегшує ігровий процес. Вони можуть дуже сильно розрізнятися і пропонувати вам найрізноманітніші можливості, про які ви могли раніше лише мріяти, починаючи з неве...
Швидкість роботи комп'ютера залежить від обсягу оброблюваної інформації
Комп'ютер для багатьох став невід'ємною частиною повсякденного життя. Деякі бачать в ньому засіб для розваг, інші з допомогою нього заробляють. І першим, і другим дуже важливий показник продуктивності. Швидкість роботи комп'ютера ...
Як скрафтить зельеварку в "Майнкрафте": інструкція
Одним з найбільш важливих аспектів "Майнкрафта" є створення зілля. Сама гра вже давно стала культовою всесвіту, що породило безліч клонів, а користувачі воліють або займатися творчістю, або проходити сюжетні карти. Але якщо гравец...
Як зробити буклет в Publisher? Створення та опис
Видання буклету — це ефективний спосіб подання інформації про ваш продукт, фірмі або послуги. Для їх створення добре підходить програма Microsoft Publisher. Освоїти її не складно. Далі в статті ми надамо інструкцію, як зроби...
Яку криптовалюту зараз вигідно майнить на комп'ютері?
Зараз у світі спостерігається справжній криптовалютный бум. Після того як биткоин побив рекорд вартості на світовій біржі, все різко захотіли його майнить. Однак це не так просто. Справа в тому, що саме цієї криптовалютой зацікави...
Примітка (0)
Ця стаття не має коментарів, будьте першим!