ЧИСЛОВЕ ОБЧИСЛЕННЯ ВИЗНАЧЕНИХ ІНТЕГРАЛІВ

Інформація про навчальний заклад

ВУЗ:
Національний університет Львівська політехніка
Інститут:
Не вказано
Факультет:
ЗІ
Кафедра:
Не вказано

Інформація про роботу

Рік:
2014
Тип роботи:
Звіт до лабораторної роботи
Предмет:
Комп’ютерні методи дослідження систем керування
Група:
СІ-21

Частина тексту файла (без зображень, графіків і формул):

Міністерство освіти та науки України Національний університет “Львівська політехніка” Звіт до лабораторної роботи № 5 з курсу “Комп’ютерні методи дослідження систем керування” ЧИСЛОВЕ ОБЧИСЛЕННЯ ВИЗНАЧЕНИХ ІНТЕГРАЛІВ Варіант #7 Львів 2014 Мета роботи: вивчити основні методи обчислення визначених інтегралів. Теоретичні відомості: Метод Сімпсона Метод вимагає розбиття проміжку  на парну кількість ділянок  з кроком . На кожній ділянці , , … ,  підінтегральну функцію  замінюємо параболою другого порядку . (4.1) де  Для цього випадку (рис. 5), коефіцієнти , ,  обчислюються з накладеної умови, що парабола проходить через крапки функції  у цих вузлах інтерполяції. Тобто, можемо записати систему трьох лінійних алгебричних рівнянь, з яких і обчислюються необхідні нам коефіцієнти . (4.2) Розв’язавши систему (4.2), отримаємо значення коефіцієнтів . (4.3) Підставивши отримані значення коефіцієнтів у рівняння параболи (4.1), отримаємо таке співвідношення . (4.4) При підставленні замість підінтегральної функцій  виразу (4.4), отримаємо значення визначеного інтегралу на проміжку  . (4.5) Узагальнюючи формулу (4.5) для усіх ділянок , , … , , отримаємо такий вираз . (4.6) Просумуємо значення інтегралу на усіх зазначених ділянках  (4.7) Записавши значення функцій з коефіцієнтами 2 та 4 у вигляді двох сум, отримаємо загальну формулу методу Сімпсона (парабол) . (4.8) Завдання: Метод Сімпсона Кількість розбиттів проміжку інтегрування m=10   Код програми: //Метод Сімпсона #include <iostream> #include <math.h> using namespace std; double Integral = 0, pi = 3.1415926; double a = 0, b, h, n, m = 10; double fa, fb, x = 0; void main() { setlocale(0, ""); b = pi/2; n = 2*m; h = (b - a)/n; fa = sin(a) * pow(cos(a), 2); fb = sin(b) * pow(cos(b), 2); for (int i = 1; i < m; i++) { x = a + (2 * i - 1)*h; Integral += (4 * sin(x)*pow(cos(x), 2)); } for (int i = 1; i < m - 1; i++) { x = a + 2 * i * h; Integral += 2 * sin(x)*pow(cos(x), 2); } Integral = (h / 3) * (fa + fb + Integral); cout << "\n\tЗначення iнтегралу: " << Integral << endl; // Перевірка cout << "\n\tТочно обчислений визначений iнтеграл \n\tзгiдно формули Ньютона-Лейбнiца: " << (-1./3. * pow(cos(b), 3)) - (-1./3. * pow(cos(a), 3)); _fgetchar(); } Результат роботи ппрограми: /
Антиботан аватар за замовчуванням

12.04.2016 16:04-

Коментарі

Ви не можете залишити коментар. Для цього, будь ласка, увійдіть або зареєструйтесь.

Ділись своїми роботами та отримуй миттєві бонуси!

Маєш корисні навчальні матеріали, які припадають пилом на твоєму комп'ютері? Розрахункові, лабораторні, практичні чи контрольні роботи — завантажуй їх прямо зараз і одразу отримуй бали на свій рахунок! Заархівуй всі файли в один .zip (до 100 МБ) або завантажуй кожен файл окремо. Внесок у спільноту – це легкий спосіб допомогти іншим та отримати додаткові можливості на сайті. Твої старі роботи можуть приносити тобі нові нагороди!
Нічого не вибрано
0%

Оголошення від адміністратора

Антиботан аватар за замовчуванням

Подякувати Студентському архіву довільною сумою

Admin

26.02.2023 12:38

Дякуємо, що користуєтесь нашим архівом!