DevioLab CRYPTO TRADING AUTOMATION
LIVE
AUTOMATED CRYPTO TRADING • BINANCE
Автоматизуйте свій криптопортфель
Торгові боти DevioLab аналізують крипторинок, автоматично відкривають і закривають позиції та керують вашим портфелем на Binance 24/7.
CRYPTO 80 Bots
BINANCE Spot Trading
TRADING 24 / 7
Спробувати DevioLab
deviolab.com

Чисельне iнтегрування функції однієї змінної

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

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

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

Рік:
2013
Тип роботи:
Лабораторна робота
Предмет:
Комп’ютерні методи дослідження інформаційних процесів та систем
Варіант:
9

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

МІНІСТЕРСТВО ОСВІТИ І НАУКИ, МОЛОДІ ТА СПОРТУ УКРАЇНИ НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ «ЛЬВІВСЬКА ПОЛІТЕХНІКА» ІКТА кафедра ЗІ ЗВІТ До лабораторної роботи №4 з курсу: «Комп’ютерні методи дослідження інформаційних процесів та систем» на тему: «Чисельне iнтегрування функції однієї змінної» Варіант №9 МЕТА РОБОТИ Ознайомлення з методами наближеного обчислення означених інтегралів. КОРОСТКІ ТЕОРЕТИЧНІ ВІДОМОСТІ Метод Гаусса. Формулу Гаусса називають формулою найвищої алгебраїчної точності, абсциси xi при інтерполяції (наближенні) функції  вибираються з умови забезпечення мінімальної похибки інтерполяції. В методі Гаусса інтеграл  (23) зводиться до вигляду  (24) тобто точне значення заміняється на наближену квадратурну формулу. Це зведення відбувається у наступній послідовності. У формулі (23) змінна x заміняється на  (25) Тоді  (26) І з врахуванням (24) можна записати, що: . (27) В формулі (24) коефіцієнти  та абсциси (вузли)  вибираються в залежності від числа вузлів. Значення  невідомих  є коренями поліномів Лежандра. Вузли  розташовані на інтервалі (-1,1), завжди симетрично відносно нуля. Всі вагові коефіцієнти додатні, а їх сума дорівнює 2. n i ti Ai  5 1 ; 5 2 ; 4 3 0,906179846 0,538469310 0 0,236926885 0,478628670 0,568888889   ЗАВДАННЯ № вар. Підінтегральна функція Інтервал інтегрування Метод  9  [1; 2,5] Гаусса (n=5)   БЛОК-СХЕМА АЛГОРИТМУ СПИСОК ІДЕНТИФІКАТОРІВ КОНСТАНТ, ЗМІННИХ, ФУНКЦІЙ, ВИКОРИСТАНИХ У ПРОГРАМІ, ТА ЇХ ПОЯСНЕННЯ i, n – змінні типу int, які використовуються в програмі; a, b, Sum, Integral, Function – змінні плаваючого типу, які використовуються в програмі; Main() – головний метод; input() – метод зчитування введених даних; calc_integral()– метод розв’язування інтегралу за наближеною формулою; sum() – метод обчислення суми (див. формулу) class Program – клас, який містить тільки головну функцію Main(); class Main – клас, у якому відбуваються усі дії; Console.ReadLine() та Console.ReadKey() – функція зчитування з клавіатури; Console.WriteLine() та Console.Write() – функції виведення на екран; Convert.ToDouble() – функція конвертування у тип Double; try {} catch (Exception) {} – функція перехоплення винятку; goto – оператор переходу виконання коду до відповідної мітки; for() – оператор циклі з передумовою; if {} else {} – оператор умови; ТЕКСТ ПРОГРАМИ using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace kmd_lab4 { class Program { static void Main(string[] args) { Main p = new Main(); p.input(); p.calc_integral(); Console.Write("\nPress <Enter> to exit..."); Console.ReadKey(); } } class Main { public int i; public const int n = 5; public double a, b, Sum, Integral, Function; public double[] t = new double[] { 0.906179846, 0.538469310, 0.000000000, 0.538469310, 0.906179846 }; public double[] A = new double[] { 0.236926885, 0.478628670, 0.568888889, 0.478628670, 0.236926885 }; public void input() { Console.WriteLine(" Введiть iнтервал [a, b]:"); inpt: try { Console.Write(" Введiть a = "); a = Convert.ToDouble(Console.ReadLine()); Console.Write(" Введiть b = "); b = Convert.ToDouble(Console.ReadLine()); } catch (Exception) { Console.WriteLine("\t Виникла помилка при введеннi! Ще раз:"); goto inpt; } } public void calc_integral() { sum(); Integral = ((b - a) / 2) * Sum; Console.WriteLine("\n Iнтеграл = " + Integral); } public void sum() { for (i = 0; i < n; i++) { if (i == 0 || i == 1) { t[i] = t[i] * (-1); } double tmp = ((b - a) / 2) * t[i] + ((b + a) / 2); Function = Math.Sin(1 / tmp) / Math.Pow(tmp, 2); Sum += A[i] * Function; } } } } РЕЗУЛЬТАТ РОБОТИ ПРОГРАМИ  ВИСНОВОК Отже, під час лабораторної роботи я ознайомився з методами наближеного обчислення означених інтегралів. За допомогою методу Гаусса склав алгоритм обчислення означеного інтегралу.
Антиботан аватар за замовчуванням

28.05.2013 18:15

Коментарі

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

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

Нічого не вибрано
0%

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

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

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

Admin

26.02.2023 12:38

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