Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

MATLAB_4_Управление_потоком_команд

.pdf
Скачиваний:
18
Добавлен:
27.05.2015
Размер:
186.94 Кб
Скачать

Функция 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) — матричный квадратный корень

Внимание! Эти операции выполняются не поэлементно, а по стандатрным правилам линейной алгебры, используя разложения функций в степенные ряды