Вторая пачка часть 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 совпадает с конт¬роль¬ным с точ¬нос¬тью до вось¬¬ми десятичных знаков
Индекс
Элементарные функции
Линейные уравнения
Нелинейные уравнения
Случайные числа