DevioLabавтоматичне керування капіталом
ПРАЦЮЄ 24/7
КРИПТОВАЛЮТИ · АКЦІЇ · 10 БІРЖ

Портфель, який керується автоматично

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

10підключених біржCrypto + Stocksв одному портфелі24/7автоматичний контроль

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

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

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

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

Рік:
2010
Тип роботи:
Лабораторна робота
Предмет:
Чисельні методи
Група:
ПМ-21
Коротко про документ

Про що ця робота

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

У роботі розглядаються

  • Чисельне інтегрування
  • Квадратурні формули
  • Формули Ньютона-Котеса
  • Метод Сімпсона
  • Обчислювальна похибка
  • Програмна реалізація алгоритмів

Зміст і розділи

  1. Завдання
  2. Короткі теоретичні відомості
  3. Алгоритм наближеного обчислення інтеграла
  4. Код програми
  5. Висновок
Для кого:Студенти технічних та математичних спеціальностей вищих закладів освіти.
Викладачі:Викладач кафедри

Ключові поняття

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

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

МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ “ЛЬВІВСЬКА ПОЛІТЕХНІКА” / Лабораторна робота №5 Тема: «НАБЛИЖЕНЕ ОБЧИСЛЕННЯ ІНТЕГРАЛІВ ЗА ДОПОМОГОЮ КВАДРАТУРНИХ ФОРМУЛ НЬЮТОНА-КОТЕСА» Завдання: 1. Одержати варіант завдання. 2. Вивчити теоретичну частину. 3. Використовуючи будь-яку з відомих Вам мов програмування, написати та відлагодити програму наближеного обчислення означеного інтеграла за допомогою квадратурних формул НьютонаКотеса з заданою точностю . 4. Для відлагодження програми потрібно вибрати таку підінтегральну функцію і межі інтегрування, щоб інтеграл обчислювався точно, наприклад . Якщо точність  досягнута, то вивести на друк величину похибки . Варіант №15. Метод Сімпсона. № варіанта     15.      Короткі теоретичні відомості Нехай потрібно обчислити інтеграл  (1) де  — задана інтегровна на  вагова функція,  — задана достатньо гладка на  функція. Для наближеного обчислення (1) будемо розглядати формули вигляду  (2) які називаються квадратурними формулами. Числа  називають вузлами квадратурної формули, а числа  — коефіцієнтами, або ваговими коефіцієнтами. Величина  називається залишковим членом, або похибкою квадратурної формули. Якщо функцію  на  замінити інтерполяційним поліномом Лагранжа то одержимо квадратурну формулу інтерполяційного типу. У цьому випадку . (3) Якщо у квадратурній формулі (2) з ваговими коефіцієнтами (3) для інтегралів (1) з  вузли рівновіддалені, тобто   то така формула називається квадратурною формулою Ньютона–Котеса. У формулах Ньютона–Котеса крок . Тоді квадратурна формула (2), (3) буде мати вигляд де Поклавши , маємо складену формулу Сімпсона (парабол)   ,  для формули Сімпсона маємо оцінку похибки . Алгоритм наближеного обчислення інтеграла для квадратурної формули Сімпсона. 1. Ввожу значення . 2. . 3. Обчислюю величину кроку =(b-a)/2N та вузли квадратурної формули =a+2ih. 4. Обчислюю наближене значення інтеграла:, 5. Приймаю. 6. Обчислюю наближене значення  за тією ж формулою. 7. Якщо  то присвоююі перехожу до пункту 5. 8. Уточнюю наближене значення інтеграла за формулою . 9. Вивожу . Результати отримані за допомогою пакету програм Maple 12. > / / / / / / / /// Код програми: #include <iostream.h> #include <math.h> //using namespace std; int N = 8; double a = 0, b = 1, e = 0.0000001, h = (b - a) / (2 * N), X[100], Ics, Ics2; double F(double); void Simpson(); void main() { Simpson(); cout<<"Iteraciji zakin4eno... Velu4uba pohubku = "<<fabs(Ics - Ics2)<<endl; Ics = Ics2 + (Ics2 - Ics)/15; cout<<"N = "<<N<<"\nh = "<<h<<"\nIh = "<<2 * Ics<<endl; } double F(double x) { double func = pow(x, 3) / (pow(x, 8) + 1); return func; } void Simpson() { for(int i = 0; i < N + 1; i++) X[i] = a + 2 * i * h; double S = F(X[0]); for(i = 1; i < N; i++) if(i % 2 == 1) S += 4 * F(X[i]); else S += 2 * F(X[i]); S += F(X[N]); Ics = S * h / 3; Ics2 = Ics; do { Ics = Ics2; N = 2 * N; h = h / 2; for(int i = 0; i < N + 1; i++) X[i] = a + 2 * i * h; S = F(X[0]); for(i = 1; i < N; i++) if(i % 2 == 1) S += 4 * F(X[i]); else S += 2 * F(X[i]); S += F(X[N]); Ics2 = S * (h / 3); } while(fabs(Ics - Ics2)/15 > e); } Результат виконання програми: / Висновок: В процесі виконання даної лабораторної роботи я наближено обчислив інтеграл за допомогою квадратурних формул Ньютона-Котеса, а саме формули Сімпсона. Значення обчислене за допомогою цієї формули майже співпало із значенням отриманим за допомогою пакету програм Maple 12.
Допоможи студентському архіву

Ми допомогли тобі — допоможи наступному студенту

Файл ще не обрано

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

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

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

Admin

26.02.2023 12:38

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