Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
МетодичкаИПлб.doc
Скачиваний:
39
Добавлен:
08.05.2019
Размер:
6.96 Mб
Скачать

6. Стандартные функции для работы с матрицами

Уже было отмечено, что для работы с векторами и матрицами можно использовать функции, ориентированные на работу со скалярами. Эти функции применяются поэлементно к каждому компоненту матрицы или вектора. Кроме этого, для матриц и векторов определены и специальные функции. Наиболее часто используемые функции приведены в табл. 2.1. Для примеров, используемых в таблице, в Workspace определены следующие переменные:

квадратная матрица а

>> a=[1 2 3; 5 -2 8; -4 0 -6]

a =

1 2 3

5 -2 8

-4 0 -6

вектор-строка b

>> b=[10 55 -30 40]

b =

10 55 -30 40

вектор-столбец с

>> c=[20; -3; 67]

c =

20

-3

67

Функции, указанные в табл. 2.1, будучи примененными к матрице, работают с отдельными ее столбцами.

Таблица 2.1

Функция

Назначение

Пример

использования

Результат

1

2

3

4

cond(a)

Вычисление числа обусловленности матрицы

>> cond(a);

25.4697

det(a)

Вычисление определителя квадратной матрицы

>> det(a);

-16

fliplr(a)

Перебрасывает элементы слева направо (переворачивает по горизонтали)

>> fliplr(a)

3 2 1

8 -2 5

-6 0 -4

flipud(a)

Перебрасывает элементы снизу вверх (переворачивает по вертикали)

>> flipud(a)

-4 0 -6

5 -2 8

1 2 3

inv(a)

Обращение квадратной матрицы

>> inv(a);

-0.7500 -0.7500 -1.3750

0.1250 -0.3750 -0.4375

0.5000 0.5000 0.7500

length(a)

Определение длины вектора

>> length(a);

>> length(a(:));

>> length(b);

>> length(c);

3

9

4

3

max(a)

Определение максимального элемента

>> max(a);

>> max(b);

>> max(c);

5 2 8

55

67

Окончание табл. 2.1

1

2

3

4

min(a)

Определение минимального элемента

>> min(a);

>> min(b);

>> min(c);

-4 -2 -6

-30

-3

mean(a)

Вычисление среднего

>> mean(a);

>> mean(b);

0.6667 0 1.6667

18.7500

norm(a)

Вычисление нормы (по умолчанию вычисляется квадратичная норма)

>> norm(a);

>> norm(a,1);

>> norm(b);

>> norm(b,1);

12.3099

17

75

135

ones(m,n)

Генерация матрицы из единиц

>> ones(2,3);

>> ones(1,4);

1 1 1

1 1 1

1 1 1 1

prod(a)

Вычисление произведения элементов

>> prod(a);

>> prod(b);

-20 0 -144

-660000

size(a)

Размеры матрицы

>> size(a);

>> size(b);

>> size(c);

3 3

1 4

3 1

sort(a)

Сортировка

элементов

>> sort(a);

>> sort(b);

>> sort(c);

-4 -2 -6

1 0 3

5 2 8

-30 10 40 55

-3

20

67

sum(a)

Сумма элементов

>> sum(a);

>> sum(b);

>> sum(c);

2 0 5

75

84

zeros(m,n)

Генерация нулевой матрицы

>> zeros(3,2);

0 0

0 0

0 0

Некоторые из функций работы с матрицами могут возвращать два выходных параметра. Например, max и min. Так, обращение

>> [maxval, indmax]=max(a)

maxval =

5 2 8

indmax =

2 1 2

вернет не только вектор из максимальных элементов столбцов матрицы, но и вектор их индексов в соответствующих столбцах. Для нашей матрицы максимальным в первом столбце является элемент со значением 5 и стоит он во второй строке.

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

help matfun – матричные функции линейной алгебры;

help elmat – элементарные матрицы и функции манипуляции матрицами;

help datafun – функции анализа данных;

help sparfun – функции работы с разреженными матрицами.