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

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

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

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

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