ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 23.11.2023

Просмотров: 71

Скачиваний: 1

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
Министерство цифрового развития, связи и массовых коммуникацийРоссийской ФедерацииОрдена Трудового Красного Знамени федеральное государственноебюджетное образовательное учреждение высшего образованияМосковский технический университет связи и информатики_________________________________________________________________Кафедра «Информатика»Лабораторная работа № 4 по дисциплине Численные методы«Численное интегрирование»Выполнил студент группы БИН2109: Зубков М.В.Проверил: Мацкевич А.Г.Москва 2023Цель работы:В этой лабораторной работе решается задача численного интегрирования.Индивидуальное задание:Для решения задачи численного интегрирования выберем функцию подынтегральную функцию, пределы интегрирования и метод интегрирования, согласно варианту №5:

  • f(x) = cos(2x) + 2 sin(x) – подынтегральная функция;

  • a = 1, b = 3 – пределы интегрирования;

  • m = 2, т.е. метод интегрирования – метод трапеций;

  • t = 1, т.е. метод интегрирования – метод средних прямоугольников;

  • h0 = 0.5 – шаг интегрирования.
Вычисление интегралов с шагом h0 и ( и ) методом трапеций и оценка его погрешности по правилу РунгеПравило Рунге применяют для вычисления погрешности путём двойного просчёта интеграла с шагами и h, при этом погрешность вычисляется по формуле Полагают, что интеграл вычислен с точностью Е, если |R| < E, тогда , где I – уточненное значение интеграла, p – порядок метода.
Вычислим интеграл по формуле трапеций и оценим погрешность интегрирования методом двойного просчета: , где yi = f(xi)Расчет производился с помощью математического пакета Mathcad и представлен на рисунке 1.Рисунок 1 – вычисление интеграла методом трапецийОценка погрешности:Вычисление интегралов с шагом h0 и ( и ) методом средних прямоугольников при помощи программыНиже представлен программный код, вычисляющий интеграл с заданной точностью.import matha = float(input("Введите нижний предел интегрирования: "))b = float(input("Введите верхний предел интегрирования: "))eps = float(input("Введите точность: "))n = 1I = 0iterations = 0while True:h = (b - a) / nsumma = 0for i in range(n):xi = a + i * h + h / 2fxi = math.cos(2 * xi) + 2 * math.sin(xi)summa += fxiI_new = h * summaiterations += 1R = (I_new - I) / 3if abs(R) < eps:breakelse:I = I_newn *= 2print(f"При точности {eps} интеграл равен {I_new}")print(f"Количество итераций: {iterations}")print(f"Оценка погрешности: {R}")На рисунке 2 представлен результат вычисления интеграла программой для точности 10-2.Рисунок 2 – вычисление интеграла с точностью 10-2Результаты вычислений интеграла с другими точностями представлены в таблице 1.Таблица 1 – результаты вычислений интеграла при помози программы

Точность приближения

Значение интеграла

Оценка погрешности

Количество итераций

10-2

2.47284

-0.00425

3

10-3

2.46667

-0.00043

5

10-4

2.46626

-2.77606·10-5

7

10-5

2.46624

-6.94716·10-6

8

График зависимости количества итераций от точности приближения представлен на рисунке 3.Рисунок 3 – зависимость количества итераций от точности приближения