Реферат: Интегрирование методом Симпсона
Московский АвиационныйИнститут
Расчетно графическая работапо:
алгоритмическим языкам ипрограммированию.
кафедра 403
Выполнил: Гуренков Дмитрий гр. 04-109 /____________/
Проверил и утвердил: Кошелькова Л.В. /____________/
Москва 1999г.
<span Times New Roman",«serif»; mso-fareast-font-family:«Times New Roman»;mso-ansi-language:RU;mso-fareast-language: RU;mso-bidi-language:AR-SA">Р.Г.Р.
Вариант 4.24
Разработать алгоритм вычисления таблици значений
функции: у= S * cos(x) + q * sin(x),
где q — параметры функции,
S — значение интеграла.
<img src="/cache/referats/12989/image002.gif" v:shapes="_x0000_i1025">
a=5
Интеграл вычислять с точностью EPS.
Вычислить N значений функции, начиная
с X=Xn и изменяя аргумент с шагом Dx.
<span Times New Roman",«serif»; mso-fareast-font-family:«Times New Roman»;mso-ansi-language:RU;mso-fareast-language: RU;mso-bidi-language:AR-SA">Численноеинтегрирование функции одной переменной.
Численное интегрирование состоит в нахожденииинтеграла <img src="/cache/referats/12989/image004.gif" v:shapes="_x0000_i1026"> от непрерывной функции<img src="/cache/referats/12989/image006.gif" v:shapes="_x0000_i1027"> по квадратной формуле:
<img src="/cache/referats/12989/image008.gif" v:shapes="_x0000_i1028">
где коэффициенты <img src="/cache/referats/12989/image010.gif" v:shapes="_x0000_i1029"><img src="/cache/referats/12989/image012.gif" v:shapes="_x0000_i1030"> принадлежат <img src="/cache/referats/12989/image014.gif" v:shapes="_x0000_i1031">
k=1, 2,…, n. Вид суммы
<img src="/cache/referats/12989/image016.gif" v:shapes="_x0000_i1032">
определяет метод численного интегрирования, аразность
<img src="/cache/referats/12989/image018.gif" v:shapes="_x0000_i1033">
— погрешность метода.
Для методаСимпсона
<img src="/cache/referats/12989/image020.gif" v:shapes="_x0000_i1034">
<img src="/cache/referats/12989/image022.gif" v:shapes="_x0000_i1035"> <img src="/cache/referats/12989/image024.gif" v:shapes="_x0000_i1036"> <img src="/cache/referats/12989/image026.gif" v:shapes="_x0000_i1037"> (k=1, 2, ..., 2n).
Правая часть формулы Симпсона является интегральнойсуммой и при <img src="/cache/referats/12989/image028.gif" v:shapes="_x0000_i1038"> стремится к данномуинтегралу. Однако при фиксированном h каждая из них отличаются отсоответствующего интеграла на величину <img src="/cache/referats/12989/image030.gif" v:shapes="_x0000_i1039"><img src="/cache/referats/12989/image032.gif" v:shapes="_x0000_i1040"> подбирается параметрn, или, что то же самое, шаг h, при котором выполняется неравенство
<img src="/cache/referats/12989/image034.gif" v:shapes="_x0000_i1041">
Величина <img src="/cache/referats/12989/image030.gif" v:shapes="_x0000_i1042"> (в предположениисуществования входящих в них производных) характеризуется равенством:
<img src="/cache/referats/12989/image036.gif" v:shapes="_x0000_i1043"> <img src="/cache/referats/12989/image038.gif" v:shapes="_x0000_i1044">
<span Times New Roman",«serif»; mso-fareast-font-family:«Times New Roman»;mso-ansi-language:RU;mso-fareast-language: RU;mso-bidi-language:AR-SA"><img src="/cache/referats/12989/image039.gif" v:shapes="_x0000_s1026"> <img src="/cache/referats/12989/image040.gif" v:shapes="_x0000_s1028">
начало
<img src="/cache/referats/12989/image041.gif" v:shapes="_x0000_s1029 _x0000_s1031">
Описание массивов X(100), Y(100)
<img src="/cache/referats/12989/image042.gif" v:shapes="_x0000_s1033 _x0000_s1035">
Ввод: a, q, EXP, Dx, XN, N, ZN, ZK
<img src="/cache/referats/12989/image043.gif" v:shapes="_x0000_s1037 _x0000_s1039">
J = 1
X(J) = XN
<img src="/cache/referats/12989/image044.gif" v:shapes="_x0000_s1041 _x0000_s1043 _x0000_s1056">
XJ = X(J)
<img src="/cache/referats/12989/image045.gif" v:shapes="_x0000_s1045 _x0000_s1047 _x0000_s1065">
S = INTEGR( a, XJ, EPS, ZN, ZK)
<img src="/cache/referats/12989/image046.gif" v:shapes="_x0000_s1050">
<img src="/cache/referats/12989/image047.gif" v:shapes="_x0000_s1049"> Y(J) = S*cos( X(J) )+q*sin( X(J) )
J = J + 1
X(J) = X(J — 1) + Dx
<img src="/cache/referats/12989/image048.gif" v:shapes="_x0000_s1054">
<img src="/cache/referats/12989/image049.gif" v:shapes="_x0000_s1052"> да
J <= N
<img src="/cache/referats/12989/image050.gif" v:shapes="_x0000_s1059">
<img src="/cache/referats/12989/image051.gif" v:shapes="_x0000_s1058"> Вывод: ( X(J), J=1, N ), ( Y(J), J=1, N )
<img src="/cache/referats/12989/image052.gif" v:shapes="_x0000_s1061 _x0000_s1063">
конец
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 ).
<span Times New Roman",«serif»;mso-fareast-font-family: «Times New Roman»;mso-ansi-language:RU;mso-fareast-language:RU;mso-bidi-language: AR-SA"><img src="/cache/referats/12989/image053.gif" v:shapes="_x0000_s1027">
Начало ПП S = INTEGR( a, XJ, EPS, ZN, ZK )
<img src="/cache/referats/12989/image054.gif" v:shapes="_x0000_s1030 _x0000_s1032">
I1 = 1
K = 1
<img src="/cache/referats/12989/image055.gif" v:shapes="_x0000_s1034 _x0000_s1036 _x0000_s1068">
I2 = 0
H = ( ZK — ZN ) / K
I = 2
<img src="/cache/referats/12989/image056.gif" v:shapes="_x0000_s1038 _x0000_s1040 _x0000_s1067">
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
<img src="/cache/referats/12989/image057.gif" v:shapes="_x0000_s1042">
<img src="/cache/referats/12989/image058.gif" v:shapes="_x0000_s1044"> да
<img src="/cache/referats/12989/image059.gif" " v:shapes="_x0000_s1046"> I<=K
<img src="/cache/referats/12989/image060.gif" v:shapes="_x0000_s1048"> <img src="/cache/referats/12989/image061.gif" v:shapes="_x0000_s1051">
<img src="/cache/referats/12989/image062.gif" v:shapes="_x0000_s1053"> I = I + 2 да
<img src="/cache/referats/12989/image063.gif" " v:shapes="_x0000_s1066"> | I1 — I2 | < EPS
<img src="/cache/referats/12989/image064.gif" v:shapes="_x0000_s1055 _x0000_s1057">
<img src="/cache/referats/12989/image065.gif" v:shapes="_x0000_s1060"> I1 = I2
K = 2*K INTEGR = I2
<img src="/cache/referats/12989/image066.gif" v:shapes="_x0000_s1062 _x0000_s1064">
возврат
ПП INTEGR предназначена для вычисления интеграла <img src="/cache/referats/12989/image002.gif" v:shapes="_x0000_i1045"> при заданной точности и заданных приделах интегрирования.
Список формальных параметров:
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.