И другие программы этой серии
Для несимметрических матриц в MATLAB 6 всегда используется QZ-алгоритм и параметр ‘chol’ или ‘qz’ игнорируется;
[V,D] = eig(A,B) возвращает диагональную матрицу обобщенных собственных значений D и матрицу V, чьи столбцы являются соответствующими собственными векторами, так чтобы A*V=B*V*D. Пример:
>> B = [3 -12 -.6 2*eps;-2 48 -1 -eps;-eps/8 eps/2 -1 10;-.5 -.5 .3 1]
в =
3.0000
-12.0000
-0.6000
0.0000
-2.0000
48.0000
-1.0000
-0.0000
-0.0000
0.0000
-1.0000
10.0000
-0.5000
-0.5000
0.3000
1.0000
>> [G,Н]=eig(В)
G =
-0.2548
0.7420
-0.4842
0.1956
0.9670
0.0193
-0.0388
0.0276
-0.0015
-0.6181
-0.8575
0.9780
-0.0075
-0.2588
-0.1694
-0.0676
Н =
48.5287
0
0
0
0
3.1873
0
0
0
0
0.9750
0
0
0
0
-1.6909
• svd(X) возвращает вектор сингулярных чисел. Команда svd выполняет сингулярное разложение матрицы X;
• [U,S,V] = svd(X) вычисляет диагональную матрицу S тех же размеров, которые имеет матрица X с неотрицательными диагональными элементами в порядке их убывания, и унитарные матрицы U и V, так что X=U*S*V\';
• [U,S,V] = svd(X,0) выполняет экономичное сингулярное разложение. Пример:
>> F=[23 12;3 5;6 0] F =
23 12
35
60 >> [k,l,m]=svd(F)
к =
1 =
0.9628 0.1846 0.1974
26.9448 0 0
0.8863 0.4630
-0.0034
0.7385
-0.6743
0
4.1202
0
-0.4630 0.8863
-0.2702 0.6485 0.7116
4.4.13. Приведение матриц к форме Шура и Хессенберга
Ниже приводятся функции, обеспечивающие приведение матриц к специальным формам Шура и Хессенберга:
m =
228
Операции с векторами и матрицами
Матричные операции линейной алгебры
229
cdf2rdf – преобразование комплексной формы Шура в действительную.
Начало в части 1