Помощничек
Главная | Обратная связь


Археология
Архитектура
Астрономия
Аудит
Биология
Ботаника
Бухгалтерский учёт
Войное дело
Генетика
География
Геология
Дизайн
Искусство
История
Кино
Кулинария
Культура
Литература
Математика
Медицина
Металлургия
Мифология
Музыка
Психология
Религия
Спорт
Строительство
Техника
Транспорт
Туризм
Усадьба
Физика
Фотография
Химия
Экология
Электричество
Электроника
Энергетика

Функции линейной алгебры: det, rank, norm, eig



 

Определитель матрицы – функция det. Понятие определителя известно вам со средней школы. Как вычислять определитель матрицы второго или третьего порядка большинство из вас хорошо знает. Некоторые даже помнят, как можно вычислить определитель произвольного порядка, используя разложение по строке или столбцу. Однако это уже достаточно трудоемкое занятие. MATLAB без труда вычисляет определитель матрицы любого порядка

 

A =

1 2 3

2 1 2

3 2 1

>> det(A)

ans =

 

Ранг матрицы – функция rank. Эта функция определяет количество линейно независимых строк матрицы (или, если хотите столбцов, ‑ это одно и то же). Например, в матрице A из предыдущего примера все строки линейно независимы.

 

 

>> rank(A)

ans =

 

Поэтому ее ранг равен размеру матрицы. В следующем примере третья строка является линейной комбинацией первых двух. (Вычтите из второй строки первую – получите третью).

 

>> A = [1 1 1; 2 1 2; 1 0 1]

A =

1 1 1

2 1 2

1 0 1

 

>> rank(A)

ans =

 

Поэтому ее ранг равен двум. Наконец, в следующем примере все строки пропорциональны – ранг матрицы равен единице:

 

>> A = [1 1 1; 2 2 2; 3 3 3]

A =

1 1 1

2 2 2

3 3 3

 

>> rank(A)

ans =

 

Норма вектора – функция norm. Вы, вероятно, помните, что длина вектора (его норма) определяется по теореме Пифагора:

Для вычисления этой характеристики вектора и используется функция norm.

 

>> v = [1 -1 -1 1]

v =

1 -1 -1 1

 

>> norm(v)

ans =

 

С помощью этой функции можно очень лаконично нормировать векторы (вычислять вектор того же направления, что и исходный, но с единичной длиной)

 

>> vn = v/norm(v)

vn =

0.5000 -0.5000 -0.5000 0.5000

 

 

Замечание. В матричном анализе используются и другие виды норм вектора. Кроме того, существуют матричные нормы. Большинство из них умеет вычислять функция norm (если правильно ее об этом попросить). Однако на наших занятиях эти нормы использоваться не будут.

 

Собственные значения матрицы – функция eig. Из теоретического курса вам известно о важности задачи на собственные значения:

Для решения этой, довольно сложной задачи MATLAB предоставляет в ваше распоряжение функцию eig, основанную на QR-алгоритме. Пример:

 

>> A = [2 -1 0; -1 2 -1; 0 -1 2]

A =

2 -1 0

-1 2 -1

0 -1 2

 

>> eig(A)

ans =

0.5858

2.0000

3.4142

 

Результат функции – вектор, содержащий собственные значения матрицы

.

Как вы уже знаете из теоретического курса, собственные вектора матрицы также важны для решения многих прикладных задач. Если вы хотите получить не только собственные значения, но и собственные вектора, то к функции eig надо обращаться немного по-другому:

 

>> [V,D] = eig(A)

V =

0.5000 -0.7071 -0.5000

0.7071 0.0000 0.7071

0.5000 0.7071 -0.5000

D =

0.5858 0 0

0 2.0000 0

0 0 3.4142

 

В матрице V содержатся собственные векторы, расположенные по столбцам, а в диагональной матрице D – соответствующие собственные значения.

 

Упражнение. В упражнении предыдущего пункта вы сформировали матрицу F. Для этой матрицы:

1) вычислите определитель; (0)

2) определите ранг; (4)

3) вычислите векторную норму первого и последнего столбцов; ( 3.7417, 2 )

4) определите собственные вектора и собственные значения

 

 




©2015 studopedya.ru Все права принадлежат авторам размещенных материалов.