Смекни!
smekni.com

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

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

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

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

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