Интегрирование методом Симпсона

Московский Авиационный Институт

Расчетно графическая работа по:

алгоритмическим языкам и программированию.

кафедра 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.