Министерство цифрового развития, связи и массовых коммуникация Российской Федерации
Ордена Трудового Красного Знамени федеральное государственное бюджетное
образовательное учреждение высшего образования
«Московский технический университет связи и информатики»
Кафедра Информатики
Лабораторная работа №4
По дисциплине «Численные методы»
На тему «Численное интегрирование»
Вариант 23
Выполнил: студент группы
Проверил: преподаватель
Москва, 2024
Цель работы
1. Выбрать индивидуальное задание из табл. 3-1 для численного интегрирования:
f(x) – подынтегральную функцию;
a,b – пределы интегрирования;
методы интегрирования для выполнения п.2 – значение в столбце t и m;
начальный шаг интегрирования h0
При этом значения в столбцах t и m означают: 1 – интегрирование методом средних прямоугольников, 2 – методом трапеций, 3 – методом Симпсона.
2. В сценарии пакета Scilab создать функцию для вычисления интеграла по 1-му заданному методу, определяя значения (столбец m) из табл. 3-1, с шагом h0 и h0/2 (Iho и Ih0/2)
3. Провести оценку погрешности полученных результатов по правилу Рунге.
4. Написать и выполнить программу вычисления интеграла по 2-му заданному методу (столбец t из табл. 3-1) с точностью 10-4:
5. Вычислить заданный интеграл с использованием функции intg пакета Scilab.
Индивидуальное задание
a = 1.5
b = 2.5
t = 1 (метод средних прямоугольников)
m = 3 (метод Симпсона)
h0 = 0.25
Выполнение задания
Часть 1 - ручной расчет, метод Симпсона
Часть 2 - расчет на ПК, метод средних прямоугольников
import math
def f(x):
return 1 + math.sin(4 * x) / math.log(x)
def integra(n, a, b):
h = (b - a) / n
res = 0
for i in range(n - 1):
x = a + (h / 2) + i * h
res += f(x)
res *= h
return res
a = 1.5
b = 2.5
n = 4
eps = 0.0001
Ih = 0
Ih1 = 0
d = 1
while d > eps:
Ih = integra(n, a, b)
n *= 2
Ih1 = integra(n, a, b)
d = abs(Ih - Ih1) / 3
I = Ih + d
print("Значение интеграла:", I)
print("Погрешность вычисления:", d)
Схема алгоритма
Вывод
В данной работе мною было изучено численное интегрирование. Было проведено интегрирование в математическом пакете и сделан код на ПК.