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

чм 3

.docx
Скачиваний:
35
Добавлен:
09.04.2023
Размер:
129.35 Кб
Скачать

Федеральное агентство связи

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

образовательное учреждение высшего образования

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

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

ЛАБОРАТОРНАЯ РАБОТА №3

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

Выполнил: Ядринцев С.М.

Проверил: Сосновиков Г.К.

Москва 2022

Общее задание к работе

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

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

3. Написать и выполнить программу вычисления интеграла по 2-му

заданному методу с точностью 10-4.

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

Scilab.

Индивидуальный вариант задания

Рисунок 1 – Индивидуальный вариант №23

Интегрирование методом средних прямоугольников – на компьютере

Интегрирование методом Симпсона – ручной расчет

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

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

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

 метод интегрирования – Интегрирование методом средних прямоугольников

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

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

Правило Рунге применяют для вычисления погрешности путём двойного

просчёта интеграла с шагами h/2 и h, при этом погрешность вычисляется по формуле

Считается, что интеграл вычислен с точностью Е, если |R|  E; тогда

I  R , где I – уточненное значение интеграла, p – порядок метода.

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

1.726925

=1.699363375

R= = =-0.0095; |R|<E;

I= + R = 0.578622 - 0.00095 = 1.6901

Вычислим интеграл по формуле Симпсона и оценим погрешность интегрирования методом двойного просчета:

y(0)+y(4)+4( y(1)+y(3) )+2( y(2) )) = 1.6900

y(0)+y(8)+4( y(1)+y(3) + y(5) +y(7) )+2( y(2) + y(4) +y(6) )) = 1.6902

R= = =6*10^-5

I= + R =1.6902

3.Программа вычисления интеграла по методу средних прямоугольников с точностью . #include <iostream>

#include <math.h>

using namespace std;

double f (double x)

{

return 1+sin(4*x)/log(x);

}

double rectangle (int n, double a, double b)

{

double h = (b-a)/n;

double res = 0;

for (int i=0; i < n-1; i++)

{

double x = a+(h/2)+i*h;

res = res + f(x);

}

res = res*h;

return res;

}

int main()

{

setlocale(LC_ALL,"rus");

double a,b,n,s, Ih, Ih2, eps = 1E-3, d = 1;

cout«" Введите левую и правую границу интеграла a b"«endl;

cin»a»b;

cout«"Введите количество отрезков n"«endl;

cin»n;

do {

Ih = rectangle(n,a,b);

n = n*2;

Ih2 = rectangle(n,a,b);

d = abs(Ih-Ih2)/3;

} while (d > eps);

s = Ih2 + d;

cout«"Значение интеграла - "«s«endl;

cout«"Погрешность вычисления - "«d«endl;

return 0;

}

Рис. 2 – Результат работы программы

Вывод:Значение интеграла соответствует значению интеграла при вычислении с помощью средств Scilab с точностью .

4. Результаты решения, полученные с помощью функции пакета Scilab.

Соседние файлы в предмете Численные методы