MATLAB_4_Управление_потоком_команд
.pdfФункция norm() для векторов
norm(V,P) = sum(abs(V).^P)^(1/P). norm(V) = norm(V,2).
norm(V,inf) = max(abs(V)). norm(V,-inf) = min(abs(V)).
Сингулярное разложение матрицы — функция svd()
[U,S,V] = svd(X) — создает матрицу S, того же размера, что и X, с неотрицательными диагональными элементами, расположенными в порядке убывания, и две унитарные матрицы преобразования, такие, что
X = U*S*V'
cond(a) — возвращает число обусловленности матрицы а как отношение максимального сингулярного числа матрицы к минимальному. Если результат близок к 1, матрица хорошо обусловлена.
det(a) — определитель матрицы
rank(a) — ранг матрицы
inv(a) — обратная матрица
orth(a) — находит ортонормированный базис для матрицы а
>> a = [1 2 3; 2 1 4; 3 4 5]
a = |
|
|
1 |
2 |
3 |
2 |
1 |
4 |
3 |
4 |
5 |
>>b = orth(a);
>>b^(-1)*a*b ans =
9.079525367450728 -0.000000000000001 -0.000000000000001 -0.000000000000001 -1.486979759027261 0.000000000000000 -0.000000000000002 -0.000000000000000 -0.592545608423468
lu(a) — lu-разложение матрицы на нижне- и верхнетреугольные формы
>>a = [1 2 3; 2 1 4; 3 4 5];
>>[l, u] = lu(a)
l = |
|
|
|
|
0.333333333333333 -0.400000000000000 |
1.000000000000000 |
|||
0.666666666666667 |
1.000000000000000 |
0 |
||
1.000000000000000 |
0 |
0 |
||
u = |
|
|
|
|
3.000000000000000 |
4.000000000000000 |
5.000000000000000 |
||
|
|
0 |
-1.666666666666667 |
0.666666666666667 |
>> l*u |
|
0 |
0 |
1.600000000000000 |
|
|
|
|
|
ans = |
|
|
|
|
1 |
2 |
3 |
|
|
2 |
1 |
4 |
|
|
3 |
4 |
5 |
|
|
qr(a) — qr-разложение матрицы на унитарную и верхнетреугольную матрицу
>> a = [1 2 3; 2 1 4; 3 4 5]; >>[q, r] = qr(a)
q =
-0.267261241912424 0.520265981714472 -0.811107105653813 -0.534522483824849 -0.780398972571708 -0.324442842261525 -0.801783725737273 0.346843987809648 0.486664263392287 r =
-3.741657386773942 -4.276179870598789 -6.948792289723032
0 |
1.647508942095827 |
0.173421993904823 |
0 |
0 |
-1.297771369046099 |
>> q*r |
|
|
ans = |
|
|
1.000000000000000 |
1.999999999999998 |
2.999999999999997 |
2.000000000000000 |
0.999999999999999 |
3.999999999999998 |
3.000000000000000 |
3.999999999999999 |
4.999999999999998 |
Собственные значения
Функция eig()
E = eig(X) — возвращает вектор, содержащий все n собственных значений квадратной матрицы X nxn.
[V, D] = eig(X) возвращает матрицу D с собственными значениями на диагонали и матрицу V собственных векторов, такую, что
X*V = V*D
[V, D] = EIG(A,B) возвращает диагональную матрицу D с собственными значениями и матрицу V собственных векторов как решение обобщенной задачи на собственные значаения матриц A и B:
A*V = B*V*D
Матричные функции
expm(x) — матричная экспонента
logm(x) — матричный натуральный логарифм
sqrtm(x) — матричный квадратный корень
Внимание! Эти операции выполняются не поэлементно, а по стандатрным правилам линейной алгебры, используя разложения функций в степенные ряды