Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Лабы / ЧМ 12 вариант / ЛР4.Численное Интегрирование 12 вариант

.odt
Скачиваний:
6
Добавлен:
18.10.2025
Размер:
27.25 Кб
Скачать

МИНИСТЕРСТВО ЦИФРОВОГО РАЗВИТИЯ, СВЯЗИ И МАССОВЫХ

КОММУНИКАЦИЙ РОССИЙСКОЙ ФЕДЕРАЦИИ

Ордена Трудового Красного Знамени федеральное государственное бюджетное образовательное учреждение высшего образования

«Московский технический университет связи и информатики»

Кафедра «Информатика»

Лабораторная работа №4

«Численное интегрирование»

по дисциплине

«Численные методы»

Выполнил: студент гр. БИК2107 Мальцев В.В.

Проверил:

Москва, 2022 г.

4.1. Вопросы, подлежащие изучению

  1. Постановка задачи численного интегрирования.

  2. Методы прямоугольников, трапеций, Симпсона.

  3. Оценка погрешности численного интегрирования. Правило Рунге.

  4. Графическая иллюстрация методов прямоугольников, трапеций и Симпсона.

4.2. Задание

  1. Выбрать индивидуальное задание из табл.3-1 для численного интегрирования:

  • f(x) – подынтегральную функцию;

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

  • методы интегрирования для выполнения п.2 – значение в столбце tиm;

  • начальный шаг интегрирования h0.

При этом значения в столбцах t и m означают: 1 –интегрирование методом средних прямоугольников, 2 – методом трапеций, 3 – методом Симпсона.

  1. В сценарии пакета Scilab создать функцию для вычисления интеграла по 1-му заданному методу, определяя значения (столбец m)из табл. 3-1, с шагом и h0 и h0 / 2 (I и I).

  2. Провести оценку погрешностей полученных результатов по правилу Рунге.

  3. Провести оценку погрешностей полученных результатов по правилу Рунге.

  4. Написать и выполнить программу вычисляется интеграла по 2-му заданному методу (столбец t из табл. 3-1) с точностью 10-4.

  5. Вычислить заданный интеграл с использованием функции intg пакета Scilab.

4.3. Варианты задания

Таблица 3-1

Подынтегральная функция

a

b

t

m

1

f(x) = 8 e-x sin(-2x)

2

3

1

3

0.25

2

f(x) = e-x sin(2x)

0

2

2

1

0.5

3

f(x) = x3/2 – 2 x sin(x)

3

4

3

2

0.25

4

f(x) = e-xcos(-2x)

2

4

1

3

0.5

5

f(x) = cos(2x) + 2 sin(x)

1

3

2

1

0.5

6

f(x) = 8 sin(2x) – x

0.2

1.2

3

2

0.25

7

f(x) = 5 cos(-2x) e-x

-0.5

0.5

2

3

0.25

8

f(x) = x sin(x + 1) – cos(x – 5)

1

2

1

2

0.25

9

f(x) = 0,25 x3 + cos(x/4)

1

3

1

3

0,5

10

f(x) = sin(2x) – 2 sin(x)

3.5

5

1

3

0.5

11

f(x) = sin(ex) – e-x +1

0

1

2

1

0.25

12

f(x) = 5 x sin(x + 1) + 2 cos(x)

1

2

1

2

0.25

13

f(x) = 5 e-x + 4 x + x3/3

-1

1

1

2

0.5

14

f(x) = -2 sin(4x) ln(-x) + 5

-2.5

-1.5

1

3

0.25

15

f(x) = sin(x – 1) – x cos(x + 3)

-4

-2

3

1

0.5

16

f(x) = 4 sin (x) – x1/2

1

2

2

3

0.25

17

f(x) = 5 sin3(x) + cos3(x)

1

2

2

1

0.25

18

f(x) = cos(2x + 1) ln (2 / x) + 3

1

3

3

2

0.5

19

f(x) = 3 cos(x2) / ln(x + 5)

-1

1

1

3

0.5

20

f(x) = sin(x2) + 1 / (2 – x)

-1.5

0.5

2

1

0.5

21

f(x) = x sin(x) + cos(x) + 5

0

2

1

2

0.5

22

f(x) = – cos(x) – cos(2x) – x + 5

1

3

3

1

0.5

23

f(x) = 1 + sin(4x) / ln(x)

1.5

2.5

1

3

0.25

24

f(x) = (1 + x2)1/2 + e-x

-1

2

2

1

0.75

25

f(x) = sin(x + 1) e2 / x

1

2

3

2

0.25

26

f(x) = 2 (1 + x) e-x – 2 cos(x)

1

4

2

3

0.75

27

f(x) = – 8 sin(– x3) e-x

0.4

1.4

1

3

0.25

28

f(x) = – 10 sin(x3) cos(– x)

-1.4

-0.4

2

1

0.25

29

f(x) = x2cos(x + 3) – 4

3

4

3

1

0.25

30

f(x) = – cos(x – 5) e2x / 3

1

3

1

3

0.5

4.4. Содержание отчета

  1. Индивидуальное задание.

  2. Сценарий пакета Scilab для проведения расчета двумя заданными методами интегралов с шагом h0 и h0/2 (IH0 и IH0/2 ) и значения погрешностей по правилу Рунге.

  3. Программа вычисления интеграла по 2-му заданному методу с точностью 10-4.

  4. Результаты программы

Ход работы

Задания для численного интегрирования:

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

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

  • методы интегрирования – средних прямоугольников, трапеций,

  • начальный шаг интегрирования h0=0.25.

Вычисление интегралов с шагом h0 и h0/2 (IH0 и IH0/2 ) и оценка его погрешности по правилу Рунге

Правило Рунге применяют для вычисления погрешности путём двойного просчёта интеграла с шагами h/2 и h,при этом погрешность вычисляется по формуле R = |Ih - Ih/2| / (2p - 1) .

Полагают, что интеграл вычислен с точностьюЕ, если |R|<=E тогда I = Ih/2 + R , где I – уточненное значение интеграла, p – порядок метода.

Вычислим интеграл по формуле

  • средних прямоугольников и оценим погрешность интегрирования методом двойного просчёта:

1) a = 1, b = 2, h = 0.25, n = (b – a) / h + 1 = 5

xi = [1, 1.25, 1.5, 1.75, 2]

f(xi) = [5.627, 5.493, 4.630, 2.983, 0.578]

I0.25 = 0.25 * ( 5.627+5.493+4.630+ 2.983+0.578) = 4.827

2) a = 1, b = 2, h = h/2 = 0.125, n = (b – a) / h + 1 = 9

xi = [1, 1.125, 1.25, 1.375, 1.5, 1.625, 1.75, 1.875, 2]

f(xi) = [5.627, 5.645, 5.493, 5.158, 4.630, 3.904, 2.983, 1.870, 0.578]

I0.125 = 0.125 * ( 5.627+5.645+5.493+5.158+4.630+3.904+2.983+1.870+0.578) = 4.486

3) Ra = |I0.125 - I0.25 | = 0.459, R = |I0.125 - I0.25 | / 3 = 0.459/3 = 0.153

Ra <= R

4.5 Вычисление определенных интегралов программой

from math import *

def f(x): return 5*x*sin(x+1) + 2*cos(x) a = 1 b = 2 I = f(a) + f(b) def trapecia(a, I): n = 8192 h = (b - a) / n for i in range(1, n): x = a + i*h I = I + f(x) I = h*I return I, n+1, h trap = trapecia(a, I) print(trap) a = 1 b = 2 I = f(a) + f(b) def trapecia1(a, I): n = 16394 h = (b - a) / n for i in range(1, n): x = a + i*h I = I + f(x) I = h*I return I, n+1, h trap1 = trapecia1(a, I) print(trap1) def R(I0, e=0.0001): I = trap[0] if abs(I - I0)/3 < e: I0 = I n = 2*n I = trap1[0] return abs(I - I0) R = R(I, e) print(float(R))

И его результат

(4.8281643529957785, 5, 0.25)

(4.4864658256902485, 9, 0.125)

0.00018949656860112185, n1 = 8192, n2 = 16384

Вывод:

В данной работе я сделал операцию численное интегрирование. На компьютере и на бумаге