Вторая пачка часть 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); (; ПРОЦЕДУРА ВЫВОДА ДВУМЕРНОГО МАССИВА А В ФАЙЛ ВЫ¬ВО¬ДА
Индекс
Элементарные функции    Линейные уравнения    Нелинейные уравнения    Случайные числа


Hosted by uCoz