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

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











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

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





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