Вторая пачка часть 190
0;
FOR K := 1 TO L DO
H:= H + A[I,K]*A[I,K];
(; ЕСЛИ ПАРАМЕТР H СЛИШКОМ МАЛ, ЧТОБЫ ГАРАНТИРОВАТЬ ОР¬ТОГОНАЛЬНОСТЬ, ТО ПРЕОБРАЗОВАНИЕ ХАУСХОЛДЕРА НЕ ВЫ¬ПОЛ¬НЯЕТСЯ, ПРОИСХОДИТ ПЕРЕХОД К МЕТКЕ 10 И ВЫХОД ИЗ ПРО¬ЦЕДУРЫ ;)
IF H <= TOL THEN
BEGIN
E[I] := 0.0;
E2[I]:= 0.0;
GOTO 10;
END;
E2[I] := H;
F := A[I,I-1];
IF F>=0 THEN
G :=-SQRT(H)
ELSE
G := SQRT(H);
E[I] := G;
H := H - F*G;
A[I,I-1] := F-G;
F := 0.0;
FOR J := 1 TO L DO
BEGIN
G := 0;
(; ФОРМИРОВАНИЕ ЭЛЕМЕНТОВ ВЕКТОРА А Х U ;)
FOR K := 1 TO J DO
G := G + A[J,K]*A[I,K];
FOR K:= J+1 TO L DO
G := G+A[K,J]*A[I,K];
G := G / H;
E[J] := G;
F := F+G*A[I,J];
END;
(; ВЫЧИСЛЕНИЕ ПАРАМЕТРА К ;)
H := F/(H+H);
(; ПРЕОБРАЗОВАНИЕ МАТРИЦЫ А ;)
FOR J := 1 TO L DO
BEGIN
F := A[I,J];
G := E[J]-H*F;
E[J] := G;
FOR K := 1 TO J DO
A[J,K]:= A[J,K]-F*E[K]-G*A[I,K];
END;
10:
H := D[I];
D[I] := A[I,I];
A[I,I] := H;
END;
END;
{$F+}
PROCEDURE PRINTR (N:INTEGER; Y:MAS);
(; ПРОЦЕДУРА ДЛЯ ВЫВОДА ОДНОМЕРНОГО МАССИВА Y В ФАЙЛ ВЫВОДА;)
VAR J,K1,Z:INTEGER;
BEGIN
J := 1;
K1 := 10;
WRITELN (LST,' ');
IF K1>N THEN
K1 := N;
REPEAT
FOR Z:=J TO K1-1 DO
WRITE (LST,Я[Z]:12:6);
WRITELN (LST,Y[K1]:12:6);
J := K1+1;
INC(K1,10);
IF K1>N THEN
K1 := N;
UNTIL J>K1;
END;
PROCEDURE CORR (NN,MM : INTEGER; X:MAS2;
VAR R : MAS1);
(; ПРОЦЕДУРА РАСЧЕТА КОРРЕЛЯЦИОННОЙ ФУНКЦИИ. ДЛЯ УДОБ¬СТ¬ВА В НЕЕ ВКЛЮЧЕНЫ ВСЕ ВСПОМОГАТЕЛЬНЫЕ ПРОЦЕДУРЫ, ИС¬ПОЛЬ¬ЗУ¬ЕМЫЕ В ВЫЧИСЛЕНИЯХ. ;)
FUNCTION SUMXR (NN,J,K: INTEGER; X:MAS2) : REAL;
VAR SS : REAL; I : INTEGER;
BEGIN
SS:= 0.0;
FOR I := 1 TO NN DO
CASE K OF
1: SS := SS + X[I,J];
2: SS := SS + SQR (X[I,J]);
END;
SUMXR := SS;
END;
FUNCTION SUMXYR (NN,J,K: INTEGER; X,Y:MAS2) : REAL;
VAR SS : REAL; I : INTEGER;
BEGIN
SS:= 0.0;
FOR I := 1 TO NN DO
SS := SS + X[I,J]*Y[I,K];
SUMXYR := SS;
END;
VAR I, J, K : INTEGER; XIJ,XIK, XJK, XJ, XJ2, XI, XI2 : REAL;
BEGIN
FOR J := 1 TO NN DO
BEGIN
XJ := SUMXR (MM,J,1,X);
XJ2 := SUMXR (MM,J,2,X);
FOR K := 1 TO NN DO
BEGIN
XIJ := SUMXYR (MM,J,K,X,X);
XI := SUMXR (MM,K,1,X);
XI2 := SUMXR (MM,K,2,X);
R[J,K] := (MM*XIJ - XI*XJ) / (SQRT (MM*XI2 - XI*XI)*
SQRT (MM*XJ2 - XJ*XJ));
END;
END;
END;
{$F+}
PROCEDURE PRINTR2 (N1:INTEGER;A:MAS1;MINER:MAS3);
(; ПРОЦЕДУРА ВЫВОДА ДВУМЕРНОГО МАССИВА А В ФАЙЛ ВЫ¬ВО¬ДА
Индекс
Элементарные функции
Линейные уравнения
Нелинейные уравнения
Случайные числа