Базис-пространство столбцов — colspace
Функция colspace (А) возвращает матрицу, столбцы которой являются образующими базиса пространства. Ранг целочисленной матрицы А равен size (в, 2). Примеры:
» syms а b с;
А= [а
b с; а b с;
а b с]
А =
[ а, Ь, с]
( а, Ь, с]
[ а, Ь, с]
>> colspace(А)
ans =
[ 1]
[ 1]
[ 1]
>> colspace(sym(magic (3)))
ans =
[ 1, 0, 0]
[ 0, 1, 0]
[ 0, 0, 1]
Вычисление собственных значений и векторов матриц
Для вычисления собственных значений и собственных векторов матриц используется функция eig, имеющая ряд форм записи:
- • LAMBDA=eig (А) — формирует символьный вектор lambda собственных значений квадратной матрицы а;
- • [v,D]=eig(A) — возвращает матрицу V, столбцы которой являются векторами собственных значений матрицы а, и диагональную матрицу D собственных значений. Если размеры v и а одинаковы, то А имеет полную систему независимых собственных векторов. При этом A*V = V*D;
- • [v,D,P]=eig(A) — дополнительно к сказанному возвращает вектор индексов Р, длина которого равна числу линейно независимых векторов. При этом A*v = v*D (Р, Р);
- • LAMBDA=eig (VPA (А)) и [v, D]= eig(VPA(A)) — возвращают численные значения собственных векторов и собственных значений в формате арифметики с произвольной точностью. Если матрица А не имеет полной системы собственных векторов, то столбцы матрицы V будут линейно зависимыми.
Примеры:
» syms abed
>> А=[а b; cd]
А =
[ а, Ь]
[ с, d]
» eig(А)
ans =
[ l/2*a+l/2*d+l/2*(aA2-2*a*d+dA2+4*b*c)л (1/2)]
[ l/2*a+l/2*d-l/2*(aA2-2*a*d+dA2+4*b*c)л (1/2)]
» M= [ 1 2 3; 4 5 6; 9 8 7] ;
» L=eig(М)
L =
- 15.3459
- -2.3459
- -0.0000
» [V,D]=eig(M)
V = |
-0.2437 0.4781 -0.4082 |
-0.5553 0.3846 0.8165 |
-0.7951 -0.7896 -0.4082 |
D = |
15.3459 0 0 |
0 -2.3459 0 |
0 0 -0.0000 |
Сингулярное разложение матриц — svd
Для сингулярного разложения матриц используется функция svd в ряде форм:
- • S!GMA=svd(A) — возвращает вектор сингулярных значений символьной матрицы а;
- • S!GMA=svd (VPA (А) ) — возвращает численные сингулярные значения в формате арифметики произвольной точности;
- • [U, S, V] =svd (А) и [и, S, V] =svd (VPA (А) ) — возвращает унитарные матрицы и и v и диагональную матрицу s сингулярных значений, для которых А = u*s*v'. Эти вычисления возможны только в численной форме.
Примеры:
» A=sym(magic(3)) А =
[ 8, 1, 6]
[ 3, 5, 7]
[ 4, 9, 2]
» svd(А)
ans =
[ 15]
[ 2*3Л (1/2)]
[ 4*3Л (1/2)]
>> digits (6)
» [U,S,V]=svd(А) U =
[-.577350, |
-.707107, |
-.408248] |
[-.577350, |
.152046е-15, |
.816497] |
[-.577350, |
.707107, |
-.408248] |
S = | ||
[15.0000, |
0, |
0] |
[ о, |
6.92820, |
0] |
[ о, |
0, |
3.46410] |
V = | ||
[-.577350, |
-.408248, |
-.707107] |
[-.577350, |
.816497, |
- . 194726е-16] |
[-.577350, |
-.408248, |
.70710 ] |
Вычисление канонической формы Жордана
Функция jordan (А) возвращает каноническую форму Жордана для символьной или численной матрицы А. Матрица А должна задаваться точно (элементы должны быть целыми или рациональными числами), поскольку даже малая погрешность способна исказить структуру клеток Жордана. В форме [V, J] = jordan (А) вычисляются как каноническая форма Жордана J, так и матрица подобия V, так что VA*V = J. Столбцы матрицы V являются обобщенными собственными векторами. Примеры:
» A=sym(magic(3)) А =
[ 8, 1, 6]
[ 3, 5, 7]
( 4, 9, 2]
» J=jordan(А)
J =
[15, 0, 0 ]
[ 0, -2*6Л(1/2) , 0 ]
[ О, О, 2*6Л (1/2)]
» [V, J]=jordan(А)
[l/з, |
-1/8* |
6 |
Л (1/2)+1/3, |
1/8*6л |
(1/2)+1/3 ] |
[1/3, |
1/12* |
6 |
л (1/2)-1/6, |
-1/12* |
6Л(1/2)-1/6 |
[1/3, |
1/24* |
6 |
л (1/2)-1/6, |
-1/24* |
6Л(1/2)-1/6 |
J = |
|||||
[15, |
0, |
0 |
] |
||
[ о, |
-2*6 |
Л |
(1/2), |
0 |
] |
[ о, |
0, 2*6' |
л(1/2) |
] |
Вычисление характеристического полинома матриц — poly
Для вычисления характеристического полинома матриц используется функция poly:
- • poly (А) — возвращает характеристический полином матрицы а, используя (по умолчанию) переменную ' х' или ' t';
- • poly (A, v) — действует аналогично, но позволяет задать переменную ' v' полинома.
Пример:
» syms abed;
» А= [ а Ь; с d] ;
>> poly(А,'р')
ans =
pA2-p*d-a*p+a*d-b*c
Вычисление матричного экспоненциала
Для вычисления матричного экспоненциала матрицы А используется функция ехрт(А). Рассмотрим пример ее применения:
» syms t;
» A=[l 0; 0 -1] А =
- 1 0
- 0 -1
» expm(t*A) ans =
[ exp (t), 0]
[ 0, exp(-t)]