Вторая пачка часть 179
..).
Процедура AIRYX реализует вычисление значения функ¬ций Ai(x) и Bi(x) для x = z ? Re z с помощью раз¬ло¬ж嬬ния (5.52). Вычисления прекращаются, когда для двух последовательных сумм в разложении (5.52) вы¬пол¬няется ра¬вен¬ство .
Формальные параметры процедуры. Входной: x (тип re¬al) - аргумент функции. Выходные: a, b (тип double) - вы¬численные значения функций Эйри Ai(x), Bi(x). В про¬цедуре помимо C1 и C2 используется константа
1.732050807568877.
PROCEDURE AIRYX(X0 : DOUBLE;
VAR A,B : DOUBLE) : DOUBLE;
VAR A,B,X,F,S1,S2,G,C1,C2,F1,G1 : DOUBLE;
I, J : INTEGER;
BEGIN
X := DOUBLE(X0);
F := 1.;
I := 1;
S1 := 1.;
S2 := X;
G := X;
X := X*X*X;
C1 := 0.355028053887817D0;
C2 := 0.258819403792807D0;
REPEAT
S1 := S1*X/(3*I*(3*I-1));
S2 := S2*X/((3*I+1)*3*I);
F1 := F+S1;
G1 := G+S2;
F := F1;
G := G1;
I := I+1;
UNTIL (F1 <> F) OR (G1<>G);
A := C1*F-C2*G;
B := (C1*F+C2*G)*1.732050807568877D0;
END.
Процедура AIRYX получена путем переработки и пе¬ре¬вода вначале на язык FORTRAN [Белашов, 1997], а за¬тем на язык PASCAL Бейсик-программы вычисления функ¬ций Эй¬ри, приведенной в работе Гринчишина и др. (1988). Тес¬тирование процедуры проводилось на IBM PC/AT-286 для значений аргумента x = -3, 0.8. По¬лу¬ченные при этом результаты
Ai(-3)=-0.378814293677658,
Bi(-3) =-0.198289626374926;
Ai(0.8)=0.169846315284426,
Bi(0.8) =1.042422180129392
совпадают с контрольными с точностью до девяти - де¬ся¬¬ти десятичных знаков.
На практике в предположении малости ?2 для ei изу¬ча¬ют корреляционную матрицу ? для исходных ве¬личин Х.
Как уже отмечалось, матрицу ? можно связать с мат¬ри¬цей факторных нагрузок: ? = W .W '.
Учитывая, что ? - симметричная положительно оп¬ре¬деленная матрица, представим ее в виде ? = U?U', где U - ортогональная матрица собственных векторов мат¬рицы ?, а ??- диагональная матрица собственных чи¬сел матрицы ?. Тогда, сравнивая два последних ра¬вен¬ства, имеем W = =U? ???/2
Индекс
Элементарные функции
Линейные уравнения
Нелинейные уравнения
Случайные числа