Вычислительные методы линейной алгебры. Горбаченко В.И - 86 стр.

UptoLike

86
6.8794 (A)
Подробности использования функции eigs можно узнать, используя систе-
му помощи MATLAB.
Сингулярное разложение использует функцию svd и было рассмотрено
в разделе 1.
3.2. Примеры программ
Рассмотрим пример вычисления максимального и минимального собст-
венных чисел и соответствующих собственных векторов симметричной по-
ложительно определенной матрицы с помощью метода скалярных произве-
дений (главная программа
sam4_01.m)
% Пример вычисления максимального собственного значения положительно
% определенной матрицы с использованием метода скалярных произведений
% A - симметричная положительно определенная матрица
disp('Исходная матрица');
A=[ 0 11 -5
-2 17 -7
-4 26 -10]
tol=input('Введите погрешность вычислений ');
max_it=input('Введите максимальное число итераций ');
[m,n]=size(A); % размерность матрицы
if m~=n
error('Матрица не квадратная')
end
% Вычисление максимального собственного значения
Y=[1,1,1]';% Начальное приближение
[lambda_max,X_max,k,flag]=sp_max(A,Y,tol,max_it);
if flag == 0 % Решение не достигнуто
disp('Вычисление максимального
собственного значения. Решение не дос-
тигнуто');
end
if flag==1 % Решение достигнуто
disp('Вычисление максимального собственного значения. Решение дос-
тигнуто');
disp('Максимальное собственное значение');
lambda_max
disp('Соответствующий нормированный собственный вектор');
X_max
disp('Число итераций');
k
disp('Результат, полученный с помощью функции eig')
[V,D]=eig(A)
end
[l,index]=max(diag(D)); % Индекс максимального собственного числа
disp('Абсолютная величина косинуса угла между собственными векторами')
      6.8794 (A)

Подробности использования функции eigs можно узнать, используя систе-
му помощи MATLAB.
    Сингулярное разложение использует функцию svd и было рассмотрено
в разделе 1.

    3.2. Примеры программ

    Рассмотрим пример вычисления максимального и минимального собст-
венных чисел и соответствующих собственных векторов симметричной по-
ложительно определенной матрицы с помощью метода скалярных произве-
дений (главная программа sam4_01.m)
% Пример вычисления максимального собственного значения положительно
% определенной матрицы с использованием метода скалярных произведений
% A - симметричная положительно определенная матрица
disp('Исходная матрица');
A=[ 0 11 -5
    -2 17 -7
    -4 26 -10]
tol=input('Введите погрешность вычислений ');
max_it=input('Введите максимальное число итераций ');
[m,n]=size(A); % размерность матрицы
if m~=n
     error('Матрица не квадратная')
end

% Вычисление максимального собственного значения
Y=[1,1,1]';% Начальное приближение
[lambda_max,X_max,k,flag]=sp_max(A,Y,tol,max_it);
if flag == 0 % Решение не достигнуто
 disp('Вычисление максимального собственного значения. Решение не дос-
тигнуто');
end
if flag==1 % Решение достигнуто
    disp('Вычисление максимального собственного значения. Решение дос-
тигнуто');
    disp('Максимальное собственное значение');
     lambda_max
     disp('Соответствующий нормированный собственный вектор');
     X_max
     disp('Число итераций');
     k
     disp('Результат, полученный с помощью функции eig')
     [V,D]=eig(A)
end
[l,index]=max(diag(D)); % Индекс максимального собственного числа
disp('Абсолютная величина косинуса угла между собственными векторами')

                                                                        86