|
(******************************************************************************)
(**) ОТДЕЛ ПроСЗнач+;
(******************************************************************************
* НАЗНАЧЕНИЕ: нахождение собственных значений квадратной матрицы
*
* ПРИМЕЧАНИЯ:
* Исходная матрица записана в файле "ПроМатр1.дан".
* В этом файле 1-я строка содержит размер матрицы (строк и столбцов),
* а последующие строки содержат значения элементов матрицы.
******************************************************************************)
ИСПОЛЬЗУЕТ
Вект ИЗ "...\Отделы\Числа\",
Матр ИЗ "...\Отделы\Числа\",
Собств ИЗ "...\Отделы\Числа\",
МатрВВ ИЗ "...\Отделы\Числа\",
Читать ИЗ "...\Отделы\Обмен\",
Вывод ИЗ "...\Отделы\Обмен\";
(******************************************************************************)
ЗАДАЧА Голова;
ПЕР
п:Читать.Поток;
М:Матр.Доступ; (* исходная матрица *)
сзВещ,сзМнм:Вект.Доступ;
УКАЗ
п:=МатрВВ.ОткрытьПоток("ПроМатр1.дан");
М:=МатрВВ.ЧитатьМатр(п);
Читать.Закрыть(п);
СОЗДАТЬ(сзВещ,РАЗМЕР(М^));
СОЗДАТЬ(сзМнм,РАЗМЕР(М^));
Вывод.Цепь("^Исходная матрица:^");
МатрВВ.ВыводМатр("%8.4f",М^);
ЕСЛИ Собств.Значения(М^,сзВещ^,сзМнм^) = 0 ТО
Вывод.Цепь("^Действительная часть собственных значений:^");
МатрВВ.ВыводВект("%10.5f",сзВещ^);
Вывод.Цепь("Мнимая часть собственных значений:^");
МатрВВ.ВыводВект("%10.5f",сзМнм^);
ИНАЧЕ
Вывод.Цепь("^Нет схождения!^")
КОН
КОН Голова;
(******************************************************************************)
УКАЗ
Голова
КОН ПроСЗнач.
▲ Вопросы, замечания и предложения высылайте на atimopheyev@yahoo.com или Издателю Глагола:
|
|