Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Конспект по ММТС.doc
Скачиваний:
5
Добавлен:
01.03.2025
Размер:
3.59 Mб
Скачать

2.1.3. Численное интегрирование

Численное интегрирование – это вычисление определенного интеграла

на основе многократных вычислений значений f(x). Применяется, если функция F(x) не может быть определена аналитически.

Такой интеграл численно равен площади фигуры, ограниченной ординатами в точках a и b, осью абсцисс и линией графика подинтегральной функции f(x) (рисунок 2.3).

Для численного интегрирования отрезок [a, b] разбивается на m частей, к каждой из которых применяется аппроксимация выбранной функцией (прямой, параболой, полиномом и т.п.).

Существует ряд методов численного интегрирования: прямоугольников, модернизированный прямоугольников, трапеций, Ньютона-Котеса (аппроксимация полиномом Лагранжа), Симпсона (аппроксимация параболой), Уэдлля (разбивка каждого из m отрезков на 6 частей), Чебышева (с неравномерным разбиением аргумента), Симпсона (кубатурная аппроксимация), Гаусса (кубатурная аппроксимация), Ромберга, Бодэ и др.

По методу прямоугольников интеграл вычисляется по формуле

,

где x(i) = a + (i-1) h или x(i) = a + i h; h = (b - a)/m .

Модернизированный метод прямоугольников отличается правилом выбора расчетных точек x(i):

x(i) = a + h/2 + ( i-1) h.

f(x)

S

a i=1 2 3 4 5 6 b x

Рисунок 2.3 – Графическая интерпретация численного интегрирования

По методу трапеций

,

где x(i) = a + i h.

Рассмотренные методы являются по сравнению с другими более простыми, но менее эффективными.

В качестве примера более эффективного (точного) метода рассмотрим метод Ньютона-Котеса. Этот метод базируется на применении к каждому i-му из m отрезков разбиения следующей формулы:

,

где x(j) = x(i) + j h / 6 ;

x(i)= a + (i -1) h ;

d(0)= d(6)= 41;d(1)= d(5)= 216;d(2)= d(4)= 27;d(3)=272.

Значение интеграла S находится суммированием значений Si :

.

Вариант программной реализации алгоритма последнего метода приводится ниже.

10 REM МЕТОД НЬЮТОНА-КОТЕСА

15 CLS

20 INPUT"a";a

30 INPUT"b";b

40 INPUT"m";m

45 DIM d(6)

47 d(0)=41:d(1)=216:d(2)=27:d(3)=272:d(4)=27:d(5)=216:d(6)=82

50 h=(b-a)/m:E=h/6

70 FOR I=1 TO m

72 XT=a+(I-1)*h

75 FOR J=0 TO 6

80 X=XT+J*E:GOSUB 200

90 SI=SI+d(J)*F

100 NEXT J

110 NEXT I

130 SI=SI*H/840

140 PRINT"SI="SI:GOTO 300

200 F=………………..:RETURN

300 END

Ошибка определения значения интеграла зависит от величины h и производной k-го порядка от интегрируемой функции в точке, где она максимальна (для первых трех методов k=2 и для Ньютона-Котеса k=8).

2.1.4. Вычисление специальных функций

Специальные функции – это такие, которые нельзя выразить аналитически через элементарные функции. Примерами таких функций являются гамма-функция, интегральная функция нормального закона распределения и др.

Специальные функции вычисляются в зависимости от их вида одним из следующих методов:

численным интегрированием;

по реккурентным соотношениям;

разложением в ряды;

на основе аппроксимаций.

Гамма-функция точно определяется по формуле

, х>0.

Для гамма-функции справедливы соотношения

Г(х+1)=х Г(х); (*)

Г(1) = 1;

Г(0,5)= ;

Г(n+1)= n!, n= 0,1,2,... ;

Г(х) Г(-х) = - /(х sin  x). (**)

Рассчитывают с использованием формулы Стирлинга или на основе аппроксимации.

Для x > -18 с погрешностью порядка 1Е-05 гамма-функция может быть вычислена на основе 20-кратного преобразования следующим образом:

z=21 + x;

применения формулы Стирлинга

.

последовательного уменьшения значения z на единицу до значения х и вычислений соответствующих значений гамма-функции по формуле Г(z) =Г(z+1)/ z .

Преобразование обеспечивает вычисления для отрицательных чисел x и с высокой точностью при их малых значениях.

Пример программной реализации метода:

20 CLS: INPUT "ВВЕДИТЕ x= "; Z: x = Z

30 FOR I = 1 TO 20

40 Z = Z*(x+I): NEXT I

50 B = x + 21

60 G=EXP(B*(LOG(B)-1)+1/12/B)*SQR(2*3.141519/B)/Z

70 PRINT "ЗНАЧЕНИЕ Г(x)="G

80 END

Гамма-функция на основе коррекции формулы Стирлинга определяется по формуле

,

где x > 1.0;

,

где a1= 12; a2= 288; a3= -139/51840; a4= 571/2488320.

При 0<x<1 значение Г(x) с целью повышения точности находится с использованием формулы (*) Г(x) = Г(x+1)/x.

Если x<0, то гамма-функция вычисляется на основе формулы (**) как

Г(x) =-/( z Г(z)sin z) ,

где z=abs(x).

Ниже приведен пример программы на основе коррекции формулы Стирлинга:

input "x";x

if x>1 then z=x:gosub pp:goto kon

if x>0 then z=x+1:gosub pp:g3=g3/x:goto kon

if x<=-1 then z=abs(x):gosub pp:goto 10

if x<0 then z=abs(x)+1:gosub pp:z=z-1:g3=g3/z

10 g3=-3.141592/z/sin(3.141592*z)/g3

goto kon

pp:

hk=1+1/12/z+1/(288*z^2)-139/(51840*z^3)+571/(2488320*z^4)

g3= SQR(2*3.141592/z)*EXP(-z)*z^z*hk

return

kon:

print "Γ("x")= "g3

end

На основе аппроксимации определение Г(z+1) для значений z от 0 до 1 может производится с использованием степенного полинома

,

где b1= -57719165, b2= 98820589, b3= -89705694, b4= 91820688, b5= -75670408, b6= 48219934, b7= -19352782, b8=3586835.

Для расчета гамма-функции по аппроксимации необходимо вычислить гамма-функцию от абсолютной величины дробной части заданного аргумента и затем на основе использования выражения (*) и, при необходимости, выражения (**) найти значение гамма-функции исходного числа.

Для вычислений интегральной функции нормального закона распределения (рисунок 2.4) применяются численное интегрирование или аппроксимации.

Для вычисления F(x) =  с точностью 0,0001 на основе численного интегрирования интервал интегрирования необходимо принимать от а-3,9 до х,

где x – значение аргумента;

a и  – параметры функций нормального закона распределения: a = xм ;  = s,

xм –оценка математического ожидания случайной величины;

s – оценка среднеквадратического отклонения случайной величины.

Вычисление значения интегральной функции нормального распределения F(x) =  на основе аппроксимации возможно по следующему алгоритму:

1) z = (х- a)/  ,

2) ,

где c1= 49867347Е-09; c2= 21141006Е-09; c3= 32776261Е-10;

c4= 38004Е-09; c5= 48891Е-09; c6= 5383Е-09;

3 ) .

1,0

x

Рисунок 2.4 – Функция распределения (нормальный закон)

Нахождение для нормального закона распределения по значению интегральной функции значения аргумента x=F-1() возможно на основе аппроксимации по следующему алгоритму:

1)

2) t = (ln (1/P))0.5 ;

3)

а0= 2.515517; а1= 0.802853; а2= 0.010328;

в0= 1.0; в1= 1.432788; в2= 0.189269; в3= 0.001308;

4) z = - w, если  ≥0.5, иначе z = w

5) x = a +  z.