Вторая пачка часть 34
4.1.
Вычислительный алгоритм процедуры VECT:
??? 1. Вычисляется вспомогательный вектор Y, с¬от¬¬ветствующий oчередному значению ??(по фор¬му¬ле 1.41).
??? 2. Вычисляется собственный вектор мат-ри¬цы А и заносится в соответствующий стол¬бец мас¬с謬¬ва V (по формуле 1.42).
??? 3. Если выбраны не все значения ?, то пе¬ре¬ход на шаг 1, иначе - конец подпрограммы.
PROCEDURE VECT (CONST N: INTEGER; X: MAS11;
M:MAS1; VAR V : MAS1);
TYPE MAS = ARRAY [1..N] OF REAL;
VAR Y : MAS; I,J, K, NS : INTEGER; SUM : REAL;
BEGIN
NS := 1;
REPEAT
Y[N] := 1;
FOR I := N-1 DOWNTO 1 DO
Y[I] := Y[I+1]*X[NS];
FOR I := 1 TO N DO
BEGIN
SUM := 0.0;
FOR J := 1 TO N DO
SUM := SUM + M[I,J]*Y[J];
Y[I] := SUM;
END;
FOR I := 1 TO N DO
V[I,NS] := Y[I];
INC (NS);
UNTIL NS>N;
END.
Формальные параметры про¬цедуры. Входные: М1 (тип integer) - начальный номер собст¬вен¬ного знବ¬чения ? матрицы А, начиная с ко¬то¬ро¬го надо ис¬кать соб¬ст¬вен¬ные векторы матрицы А; М2 (тип in¬te¬¬ger) - по¬след¬ний номер собственного значения ? мат¬¬рицы А, до ко¬то-рого надо искать собст¬вен¬ные ве¬к¬торы (очевидно, что М1 < М2); М (тип re¬al) - вспмо-га¬тельный массив, содержащий стро¬ки мат¬ри¬цы пре¬об¬разований М, ис¬поль¬зуемый для пе¬ре¬сче¬та собст¬венного вектора мат¬ри¬цы Фро¬бениуса в соб¬ст¬венный вектор матрицы А; В (тип real) - мас¬сив собст¬венных значений мат¬ри¬цы А. Вы-ходные: V (тип real) - массив собст¬вен¬ных векторов мат¬рицы А. Если определяются не все ?, то собственные веꬬто¬ры рас¬по¬лагаются с М1 по М2 столбец, а ос¬таль¬¬¬ные значения мас¬си¬ва V не определены.
Примечание. В процедуре VECT от¬сут-ству¬ет конт¬роль вы¬числений собственных значений.
Для проверки работы программы (см. табл. 1.19) собст¬вен¬ные значения и соб¬ст¬венные векторы мат¬рицы, взятой из п. 4.1, на¬хо¬дятся с точностью до 0.0001. Все пр¬ме¬жуточные мат-ри¬цы для конт¬ро¬ля за работой про¬грам¬мы выписаны.
Таблица 1.19
Номер элемента
Параметр [ 1 ] [ 2 ] [ 3 ] [ 4 ]
Итерация первая
Матрица 0
Индекс
Элементарные функции
Линейные уравнения
Нелинейные уравнения
Случайные числа