Интегрирование методом Симпсона
Московский Авиационный Институт
Расчетно графическая работа по:
алгоритмическим языкам и программированию.
кафедра 403
Выполнил: Гуренков Дмитрий гр. 04-109 /____________/
Проверил и утвердил: Кошелькова Л.В. /____________/
Москва 1999г.
Р.Г.Р.
Вариант 4.24
Разработать алгоритм вычисления таблици значений
функции: у = S * cos(x) + q * sin(x),
где q - параметры функции,
S - значение интеграла.
a=5
Интеграл вычислять с точностью EPS.
Вычислить N значений функции, начиная
с X=Xn и изменяя аргумент с шагом Dx.
Численное интегрирование функции одной переменной.
Численное интегрирование состоит в нахождении интеграла от непрерывной функции по квадратной формуле:
где коэффициенты - действительные числа и узлы принадлежат
k=1, 2, ... , n. Вид суммы
определяет метод численного интегрирования, а разность
- погрешность метода.
Для метода Симпсона
, (k=1, 2, ..., 2n).
Правая часть формулы Симпсона является интегральной суммой и при стремится к данному интегралу. Однако при фиксированном h каждая из них отличаются от соответствующего интеграла на величину . По заданной предельной абсолютной погрешности подбирается параметр n, или, что то же самое, шаг h, при котором выполняется неравенство
Величина (в предположении существования входящих в них производных) характеризуется равенством:
начало
Описание массивов X(100), Y(100)
Ввод: a, q, EXP, Dx, XN, N, ZN, ZK
J = 1
X(J) = XN
XJ = X(J)
S = INTEGR( a, XJ, EPS, ZN, ZK)
Y(J) = S*cos( X(J) )+q*sin( X(J) )
J = J + 1
X(J) = X(J - 1) + Dx
да
J <= N
Вывод: ( X(J), J=1, N ), ( Y(J), J=1, N )
конец
1. Описание массивов X, Y
2. Ввод данных: a, q, EPS, Dx, XN, N, ZN, ZK
3. Счетчик цикла J, присваивание начального значения переменной X(J).
4. Присваивание значения переменной XJ.
5. Обращение к подпрограмме S=INTEGR(a, XJ, EPS, ZN, ZK)
6. Присваивание значений переменным Y(J), J, X(J).
7. Окончание цикла J.
8. Ввывод данных ( X(J), J=1, N ), ( Y(J), J=1, N ).
Начало ПП S = INTEGR( a, XJ, EPS, ZN, ZK )
I1 = 1
K = 1
I2 = 0
H = ( ZK - ZN ) / K
I = 2
Z2 = ZN + I*H, Z1 = Z2 - H, Z0 = Z1 - H
L2 = ln( XJ + a*Z2 ),
L1 = ln( XJ + a*Z1 ),
L0 = ln( XJ + a*Z0 ),
I2 = I2 + L0 + 4*L1 + L2
да
I<=K
I = I + 2 да
| I1 - I2 | < EPS
I1 = I2
K = 2*K INTEGR = I2
возврат
ПП INTEGR предназначена для вычисления интеграла при заданной точности и заданных приделах интегрирования.
Список формальных параметров:
a - параметр функции, величина действительного типа.
XJ - аргумент функции у = S * cos(x) + q * sin(x), величина действ-ого типа.
EPS - точность вычисления интеграла, величина действительного типа.
ZN - нижний предел интегрирования, величина действительного типа.
ZK - верхний предел интегрирования, величина действительного типа.
1. Присваивание начального значения I1, K.
2. Присваивание начального значения I2, H, счетчик цикла I.
3. Присваивание значений переменным Z2, L2, L1, L0, I2 - накопитель суммы.
4. Присваивание значения переменной I.
5. Окончание цикла I.
6. Проверка условия | I1 - I2 | < EPS.
7. Присваивание значения переменной I1, K.
8. Присваивание значения переменной INTEGR.