Частина тексту файла (без зображень, графіків і формул):
МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ
НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ «ЛЬВІВСЬКА ПОЛІТЕХНІКА»
ІКТА
кафедра ЗІ
З В І Т
до лабораторної роботи №4
з курсу: «Комп’ютерні методи дослідження інформаційних процесів та систем»
на тему: «ЧИСЛОВЕ ІНТЕГРУВАННЯ ФУНКЦІЇ ОДНІЄЇ ЗМІННОЇ»
Варіант № 12
Мета роботи – ознайомлення з методами наближеного обчислення означених інтегралів.
Метод трапецій
Рис. 3
Розіб’ємо відрізок інтегрування на n рівних частин, довжиною .
Дуга кривої заміняється стягуючою її хордою. В точках розбиття проведемо ординати до перетину з кривою . Кінці ординат з’єднаємо прямолінійними відрізками. Тоді можна замінити кожну з одержаних криволінійних трапецій прямолінійною (рис.3). Площа криволінійної трапеції можна вважати наближено дорівнює сумі площ прямолінійних трапецій.
Площа лівої трапеції
Відповідно для трапеції, розміщеної над ділянкою знайдемо:
(5)
Звідси
(6)
або (7)
Похибка методу
Гранична абсолютна похибка методу трапецій знаходиться за формулою:
(8)
ЗАВДАННЯ ДО ЛАБОРАТОРНОЇ РОБОТИ
Скласти програму обчислення означеного інтеграла вказаним викладачем методом.
№ вар.
Підінтегральна функція
Інтервал інтегрування
Метод
Абсолютна похибка
1
[1;3]
трапецій
0,001
Блок-схема
/
Список індентифікаторів, змінних, функцій, використаних у блок-схемі алгоритму і програмі, та їх пояснення
Math – клас, в якому визначено стандартні математичні функції;
double – тип з плаваючою точкою подвійної точності;
if-else - умовний оператор;
Main() – головна функція;
Abs (x)- повертає абсолютне значення x;
Sqrt(x) - знаходження квадратного кореня;
for-оператор покрокового циклу;
int – тип з 32-бітовим цілим числом з знаком.
Текст програми
using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace ConsoleApplication4 { class Lab { static void Main(string[] args) { double a, b, n, h, res, sum, xi, E, sum2, xi2, rez2; sum = sum2 = 0; a = 1; b = 3; Console.Write("Введiть похибку:"); E = Convert.ToDouble(Console.ReadLine()); h = 2; xi = a; do { h = h / 2; n = (b - a) / h; for (int i = 1; xi < b; i++) { if (xi < b) { xi = a + i * h; sum += Math.Pow(xi,xi)* (1+Math.Log(xi)); } xi2 = a + i * h / 2; sum2 += Math.Pow(xi2,xi2)* (1+Math.Log(xi2)); } res = ((Math.Pow(a,a)* (1+Math.Log(a)) / 2) + (Math.Pow(b,b)* (1+Math.Log(b))) / 2 + sum) * h; rez2 = ((Math.Pow(a,a)* (1+Math.Log(a)))+ (Math.Pow(b,b)* (1+Math.Log(b))) / 2 + sum2) * h / 2; } while (Math.Abs(rez2 - res) > E); Console.Write("Результат= " + res); Console.Read(); } } }
5.Результата роботи програми
/
Висновок:
На цій лабораторній роботі я ознайомився з методами наближеного інтегрування означених інтегралів.
Я склав програму мовою C# для обчислення означеного інтеграла методом трапецій.