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


40) как (i - 1)-я строка матрицы М (так как не ум¬но¬жается!). ??? 7. Если i > 1, то повторить с шага 1. ??? 8. Решаем характеристическое уравнение (мож¬но воспользоваться программой из п. 4.1). PROCEDURE DANIL (CONST N:INTEGER; VAR A,M:MAS1; VAR B: MAS11); TYPE MAS = ARRAY [1..N] OF REAL; MAS1 = ARRAY [1..N] OF MAS; VAR I, J, NS,NSP1, K : INTEGER; X : MAS11; AIJ : REAL; R, E, S, S1, A1 : MAS1; BEGIN FOR I := 1 TO N DO { ПРИСВОЕНИЕ НАЧАЛЬНЫХ ЗНАЧЕНИЙ} FOR J := 1 TO N DO { МАССИВАМ } BEGIN IF I=J THEN S[I,J] := 1 ELSE S[I,J] := 0.0; IF I=J THEN M[I,J] := 1 ELSE M[I,J] := 0.0; A1[I,J] := A[I,J]; END; {ОПРЕДЕЛЕНИЕ ЕДИНИЧНОЙ МАТРИЦЫ} NS := N- 1; E:= S; REPEAT S := E; NSP1 := NS + 1; S1 := E; FOR I := 1 TO N DO S[NS,I] := -A1[NSP1,I] / A1[NSP1,NS]; S[NS,NS] := 1 / A1[NSP1,NS]; FOR I := 1 TO N DO BEGIN M[NS,I] := S[NS,I]; S1[NS,I] := A1[NSP1,I]; END; FOR I := 1 TO N DO { ФОРМИРОВАНИЕ МАТРИЦЫ А } FOR J := 1 TO N DO BEGIN AIJ := 0.0; FOR K := 1 TO N DO AIJ := AIJ + A1[I,K] * S[K,J]; R[I,J] := AIJ; END; FOR I := 1 TO N DO FOR J := 1 TO N DO BEGIN AIJ := 0.0; FOR K := 1 TO N DO AIJ := AIJ + S1[I,K]*R[K,J]; A1[I,J] := AIJ; END; DEC (NS); UNTIL NS = 0; { ОПРЕДЕЛЕНИЕ СОБСТВЕННЫХ ВЕКТОРОВ } FOR I := 2 TO N+1 DO B[I] :=-A1 [1,I-1]; B[1] := 1.0; LAMBDA (4,0.0000001,B,X); B := X; END. Формальные параметры про¬цедуры. Входные: N (тип in¬teger) - размерность матрицы А, для ко¬то¬рой ищутся соᬬственные значения??; А (тип re¬al) - мат¬р謬¬ца А (ис¬ход¬ная) размером (n?n). Вы¬ход¬ные: А (тип real) - мат¬ри¬ца Фр¬бе-ни¬у¬са; М (тип re¬al) - мас¬сив, содержащий стро-ки, от¬лич¬ные от ну¬¬ля и еди¬ни¬цы мат¬рицы пре-об¬ра¬зо¬ваний Мn-1; В (тип real) - мас¬¬сив собственных зна¬че¬ний мат¬рицы А. Прце¬ду¬¬ра DANIL в работе об¬ра¬ща¬ет¬ся к под¬про¬грам¬ме LAM¬BDA, описанной в п
Индекс
Элементарные функции    Линейные уравнения    Нелинейные уравнения    Случайные числа


Hosted by uCoz