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

UptoLike

77
3. ВЫЧИСЛЕНИЕ СОБСТВЕННЫХ ПАР В MATLAB
3.1. Некоторые функции вычисления собственных
пар в MATLAB
Функция
eig вычисляет собственные числа и собственные векторы мат-
рицы, используя
QZ-алгоритм. При вызове в форме d = eig(A) функция
возвращает вектор, состоящий из собственных чисел матрицы
A. Например,
>> A=[4 -1 -2; 2 1 -2; 1 -1 1]
A =
4 -1 -2
2 1 -2
1 -1 1
>> d=eig(A)
d =
1.0000
3.0000
2.0000
При вызове в виде [V,D] = eig(A) функция возвращает диагональ-
ную матрицу
D собственных значений и матрицу V, составленную из правых
собственных векторов. Собственные векторы нормируются, так чтобы евк-
лидова норма каждого вектора была равно единице. Например,
>> [V,D]=eig(A)
V =
-0.5774 -0.7071 0.7071
-0.5774 -0.7071 0.0000
-0.5774 0.0000 0.7071
D =
1.0000 0 0
0 3.0000 0
0 0 2.0000
Проверим нормирование первого вектора
>>norm(V(:,1))
ans =
1.0000
Очевидно, что должно выполняться равенство A*V = V*D. Действительно
>> A*V
ans =
-0.5774 -2.1213 1.4142
-0.5774 -2.1213 0.0000
-0.5774 0.0000 1.4142
    3. ВЫЧИСЛЕНИЕ СОБСТВЕННЫХ ПАР В MATLAB
    3.1. Некоторые функции вычисления собственных
         пар в MATLAB

    Функция eig вычисляет собственные числа и собственные векторы мат-
рицы, используя QZ-алгоритм. При вызове в форме d = eig(A) функция
возвращает вектор, состоящий из собственных чисел матрицы A. Например,
>> A=[4 -1 -2; 2 1 -2; 1 -1 1]
A =
     4    -1    -2
     2     1    -2
     1    -1     1
>> d=eig(A)
d =
    1.0000
    3.0000
    2.0000

    При вызове в виде [V,D] = eig(A) функция возвращает диагональ-
ную матрицу D собственных значений и матрицу V, составленную из правых
собственных векторов. Собственные векторы нормируются, так чтобы евк-
лидова норма каждого вектора была равно единице. Например,
>> [V,D]=eig(A)
V =
   -0.5774   -0.7071      0.7071
   -0.5774   -0.7071      0.0000
   -0.5774    0.0000      0.7071
D =
    1.0000         0           0
         0    3.0000           0
         0         0      2.0000
Проверим нормирование первого вектора
>>norm(V(:,1))
ans =
    1.0000

Очевидно, что должно выполняться равенство A*V = V*D. Действительно
>> A*V
ans =
   -0.5774    -2.1213     1.4142
   -0.5774    -2.1213     0.0000
   -0.5774     0.0000     1.4142

                                                                      77