Вторая пачка часть 151


5772156649; EXIT; END; GLOGD:=0; PI:=3.1415926535; IF X<-2 THEN BEGIN GLOGD:=-PI*COS(PI*X)/SIN(PI*X); X:=1-X END; WHILE X<15 DO BEGIN GLOGD:=GLOGD-1/X; X:=X+1; END; X:=1/(X-1); GLOGD:=GLOGD-LN(X)+X/2; X:=X*2; GLOGD:=GLOGD-X*((X/21-0.1)*X+1)/12 END {****GLOGD****}. Процедура-функция GLOGD была получена путем пе¬р嬬рବботки и перевода на язык PASCAL FOR¬TRAN-пргра쬬мы вычисления ?(x) [Белашов, 1997] и про¬тес¬ти¬рована на IBM PC/AT-286. При этом ре¬зуль¬та¬ты, плученные для x= = 0.5, 1, ?(0.5) = -1.96351003; ?(1) = -0.577215665 совпадают с точностью 10-8 с результатами, при-ве¬ден¬ны¬¬ми в работе Гринчишина и др. (1988). Замечание. Для процедуры GLOGD справедливо то же замечание, что и для процедуры GAMF1. Вычисление неполной гамма-функции Гх(а) с ис¬поль¬зованием ее разложения в степенной ряд (5.8) реализовано в процедуре-функции UGAMF. При этом вначале исключаются точки a = 0, -1, -2, ... , в которых функция не определена. Точность вычисления Гх(а) за¬да¬ется при вызове функции. Формальные параметры процедуры. Входные: x, a (тип real) - амплитуда и аргумент функции Гх(а); eps (тип real) - точность вычисления. Выходной: ugamf (тип double) - значение неполной гамма-функции с точ¬нос¬тью eps. FINCTION UGAMF (X,A,EPS : REAL) ; REAL; VAR S, S1: REAL I : INTEGER; LABEL A1; BEGIN IF INT(A)=-ABS(A) THEN BEGIN WRITE (“ОШИБКА В ИСХОДНЫХ ДАННЫХ ‘); EXIT; END; UGAMF:=1/A; I:=1; S:=1; REPEAT S:=-S*X/I; S1:=S/(A+I); I:=I+1; UGAMF:=UGAMF+S1; UNTIL ABS(S1) <= EPS*ABS(UGAMF); UGAMF:=UGAMF*X A END { *** UGAMF *** }. Процедура-функция UGAMF получена путем п嬬¬ре¬рବ¬ботки и перевода на язык PASCAL про¬грам¬мы вы¬чис¬ления неполной гамма-функции Гх(а) [Бе¬ла¬шов, 1997] и про¬тестирована на IBM PC/AT-286 для тех же зна¬че¬ний x и a. Результат вычисления Г2(3) = 0.646647167 при за¬да¬вав¬шей¬ся точности ? = 1e-8 совпадает с конт¬роль¬ным с точ¬нос¬тью до вось¬¬ми десятичных знаков
Индекс
Элементарные функции    Линейные уравнения    Нелинейные уравнения    Случайные числа


Hosted by uCoz