ВУЗ:
Составители:
Рубрика:
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
Страницы
- « первая
- ‹ предыдущая
- …
- 84
- 85
- 86
- 87
- 88
- …
- следующая ›
- последняя »