Задача 11. Привести заданную матрицу А к диагональному виду

Привести заданную матрицу А к диагональному виду.

Задача состоит в том, чтобы для квадратной матрицы А подобрать такую матрицу С, чтобы матрица В= С-1 * АС имела диагональный вид. Эта задача свя­зана с теорией собственных значений, так как разрешима только в том случае, если матрица С состоит из собственных векторов матрицы А.

В листинге показано, как можно решить поставленную задачу двумя способами. Первый способ сводится к вычислению значения выражения С-1* АС для чего предварительно, при помощи функции eig(A), формируется мат­рица С, каждый столбец которой соответствует собственному вектору матри­цы А Результаты вычислений, полученные подобным образом, показывают, что главная диагональ диагональной матрицы совпадает с собственными зна­чениями матрицы А. Поэтому второй способ решения этой задачи сводится к формированию диагональной матрицы при помощи функции diag (b), где b- векторГэлементы которого соответствуют собственным значениям матрицы А.

Листинг 78

>> А=[2 1 3;1 -2 1;3 2 2];

>> [C,B]=eig(A)

С =

-0.6798 -0.7071 -0.1326

-0.1875 0.0000 -0.8654

-0.7090 0.7071 0.4832
В =

5.4051 0 0

0 -1.0000 0

0 0 -2.4051

>> b=diag(B)

b =

5.4051

-1.0000

-2.4051

>> %Первый способ

>> inv(C)*A*C

ans =

5.4051 0 -0.0000

-0.0000 -1.0000 -0.0000

0.0000 0.0000 -2.4051

>> %Второй способ

>> diag(b)

ans =

5.4051 0 0

О -1.0000 0

0 0. -2.4051

Задача 12.

Найти решение обобщенной задачи о собственных значениях для матриц А и В. Обобщенную задачу о собственных значениях (листинг 6.82) в MATLAB ре­шают при помощи функции eig(A,B), которая в качестве результата выдает матрицу обобщенных собственных векторов и диагональную матрицу, содержа­щую обобщенные собственные значения.

Листинг 79.

>> А=[1 -3;-3 4];

>> В=[1 2;-3 1];

>> [X,V]=eig(A, В)

X = %Матрица обобщенных собственных векторов

-1.0000 0.9167

0 1.0000

V = %Матрица, содержащая обобщенные собственные значения

1.0000 0

0 -0.7143

>> v=diag(V) %Обобщенные собственные значения

v =

1.0000 -0.7143

>> %Проверка

>> (A-v(l)*B)*X(:,l)

ans =

1.0е-015 *

-0.1110 0.4441

>> (A-v(2)*B)*X(:,2)

ans =

1.0e-015 *

-0.4441


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: