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


(1988), сходимость его очень мед¬ленная для |z| < 0.05 и в области |y| < 2, x < 0. Ал¬го¬ритм ре¬а¬ли¬зо¬ван в процедуре WKZ, полученной путем пе¬ре¬ра¬бот¬¬ки и пе¬ревода вначале на язык FORTRAN [Бе¬лашов, 1997], а за¬тем на язык PASCAL ALGOL-про¬гра쬬мы вычисления [Библиотека ..., 1975]. Формальные параметры процедуры. Входные: k (тип re¬al) - показатель k в формуле (5.11); x, y (тип real) - де¬йс¬т¬вительная и мнимая части аргумента z = x + iy; eps (тип re¬al) - задаваемая точность. Выходной: wkz (тип comp) - функция FUNCTION WKZ(K:INTEGER; X,Y,EPS:REAL) : COMPEX; VAR A,B,C,D,W,M,P,Q: REAL; R,N : INTEGER; BEGIN EPS:=EPS*EPS; A:=1.; C:=1.; U:=1; V:=0.0; D:=0.0; B:=0; N:=1; W:=K-1; REPEAT N:=N+1; R:=INT(N/2); M:=R; IF R*2=N THEN M:=R+W; P:=X+M*C; Q:=Y+M*D; M:=P*P+Q*Q; C:=(X*P+Y*Q)/M; D:=(Y*P-X*Q)/M; P:=C-1; Q:=A; A:=A*P-B*D; B:=Q*D+P*B; U:=U+A; V:=V+B; UNTIL (A*A+B*B)/(U*U+V*V) <= EPS; END {****WKS****}. Процедура WKZ была протестирована на машине IBM PC/AT-386 для k = 1, z = 1 + i и k = 2, z = 4; eps = 1e-7. Полученные при этом результаты 0.673321227 + i 0.147863858, 0.698469604 с точностью до шести десятичных цифр совпали с таб¬лич¬ными [Библиотека ..., 1975]. Вещественная интегральная показательная функция E1(x), являющаяся частным случаем Ek (z) при k =1, x = z ? ? Re z, определяется интегралом [Корн, Корн, 1984] и может быть аппроксимирована степенными рядами следующим образом [Библиотека ..., 1975]: а) при 0 < x < 1 ; (5.12) б) при x ? 1 , (5.13) где |?1| < 2?10-7, |?2| < 2?10-8, а значения коэффициентов пред¬ставлены в табл. 5.3. Таблица 5.3 i ai bi ci 0 0.2677737343 3.9584969228 0.57721566 1 8.6347608925 21.0996530827 0.99999193 2 18.0590169730 25.6329561486 -0.24991055 3 8.5733287401 9.5733223454 0.05519968 4 -9.76004e-3 5 1.07857e-3 С помощью процедуры-функции E1X вы¬чис¬л¬яются значения вещественной интегральной функции E1(x) в соответствии с формулами (5
Индекс
Элементарные функции    Линейные уравнения    Нелинейные уравнения    Случайные числа


Hosted by uCoz