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


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



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


                                 кафедра 403



                 Выполнил: Гуренков Дмитрий   гр. 04-109      /____________/


                       Проверил и утвердил: Кошелькова Л.В.   /____________/



                                Москва 1999г.
                                   Р.Г.Р.

                                Вариант 4.24

           Разработать алгоритм вычисления таблици значений
           функции:         у = S * cos(x) + q * sin(x),

           где   q - параметры функции,
                 S - значение интеграла.

           [pic]
           a=5

           Интеграл вычислять с точностью EPS.
           Вычислить N значений функции, начиная
           с X=Xn и изменяя аргумент с шагом Dx.
             Численное интегрирование функции одной переменной.

Численное  интегрирование  состоит   в   нахождении   интеграла   [pic]   от
непрерывной функции [pic] по квадратной формуле:
                                    [pic]
где коэффициенты [pic]- действительные числа и узлы [pic] принадлежат [pic]
k=1, 2, ... , n. Вид суммы
                                    [pic]
определяет метод численного интегрирования, а разность
                                    [pic]
- погрешность метода.

                             Для метода Симпсона
                                    [pic]
                  [pic],   [pic]   [pic] (k=1, 2, ..., 2n).
Правая часть формулы Симпсона  является  интегральной  суммой  и  при  [pic]
стремится к данному интегралу. Однако при  фиксированном  h  каждая  из  них
отличаются от соответствующего интеграла  на  величину  [pic].  По  заданной
предельной абсолютной погрешности [pic] подбирается параметр n, или, что  то
же самое, шаг h, при котором выполняется неравенство
                       [pic]
Величина [pic] (в предположении существования входящих  в  них  производных)
характеризуется равенством:
      [pic] [pic]



                              начало


                 Описание массивов 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  предназначена  для  вычисления  интеграла  [pic]   при  заданной
точности и заданных приделах интегрирования.
Список формальных параметров:
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.