Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ЛР02 Матричные операции в MATLAB.doc
Скачиваний:
9
Добавлен:
15.11.2019
Размер:
159.74 Кб
Скачать

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

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

A =

1 2 3

2 1 2

3 2 1

>> det(A)

ans =

8

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

>> rank(A)

ans =

3

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

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

A =

1 1 1

2 1 2

1 0 1

>> rank(A)

ans =

2

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

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

A =

1 1 1

2 2 2

3 3 3

>> rank(A)

ans =

1

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

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

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

v =

1 -1 -1 1

>> norm(v)

ans =

2

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

>> 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) определите собственные вектора и собственные значения

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]