Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Matlab / 01 Ознакомление с пакетом Matlab. Матрицы +.docx
Скачиваний:
194
Добавлен:
19.03.2016
Размер:
889.07 Кб
Скачать

Индексы элементов матриц

Элемент в строке i и столбце j матрицы А обозначается A(i,j). Например, A(4,2) — это число в четвертой строке и втором столбце. Для нашего магического квадрата A(4,2) =15. Таким образом, можно вычислить сумму элементов в четвер­том столбце матрицы А, набрав:

A(1,4) + A(2,4) + A(3,4) + A(4,4)

получим

ans = 34

Однако это не самый лучший способ суммирования отдельной строки. Также возможно обращаться к элементам матрицы через один индекс, A(k). В этом случае массив рассматривается как длинный вектор, сформированный из столбцов исходной матрицы.

Так, для магического квадрата, A(8) — это другой способ ссылаться на значение 15, хранящееся в A(4,2).

Если использовать значение элемента вне матрицы, Matlab выдаст ошибку:

t=A(4,5)

??? Index exceeds matrix dimensions.

С другой стороны, если сохранить значение вне матрицы, то размер матрицы увеличивается:

X=A;

X(4,5) = 17

X =

16 3 2 13 0

5 10 11 8 0

9 6 7 12 0

4 15 14 1 17

Оператор двоеточия. Двоеточие : — это один из наиболее важных операторов Matlab. Он проявляется в различных формах. Выражение:

1:10

— это вектор-строка, содержащая целые числа от 1 до 10:

1 2 3 4 5 6 7 8 9 10

Для получения обратного интервала:

100:-7:50

что дает:

100 93 86 79 72 65 58 51

или:

0:pi/4:pi

что приводит к:

0 0.7854 1.5708 2.3562 3.1416

Индексное выражение, включая двоеточие, относится к части матрицы: A(1:k, j) это первые k элементов j-го столбца матрицы А. Так:

sum(A(1:4,4))

вычисляет сумму четвертой строки. Но есть и лучший способ. Двоеточие, само по себе, обращается ко всем элементам в строке и столбце матрицы, а слово end к последней строке или столбцу. Так:

sum(A(:,end))

вычисляет сумму элементов в последнем столбце матрицы А:

ans = 34

Почему магическая сумма квадрата равна 34? Если целые числа от 1 до 16 отсортированы в четыре группы с равными суммами, эта сумма должна быть:

sum(1:16)/4

которая равна:

ans = 34

Матричные функции линейной алгебры

Математические операции, определенные на матрицах являются объектом линейной алгебры (табл. 1).

Таблица 1

Матричные функции линейной алгебры

det(A) — возвращает определитель квадратной матрицы A.

rank(A) — возвращает ранг матрицы A.

trace(A) — возвращает след матрицы A.

inv(A) — возвращает матрицу, обратную квадратной матрицы A.

size(A) — возвращает вектор-строку, содержащую количество строк и столбцов в массиве A.

length(X) — возвращает длину вектора X.

max(A) — возвращает вектор-строку, содержащую значения максимальных элементов в столбцах матрицы А.

min(A) — возвращает вектор-строку, содержащую значения минимальных элементов в столбцах матрицы А.

Массивы

Когда мы выходим из мира линейной алгебры, матрицы становятся двумерными численными массивами. Арифметические операции на массивах производятся поэлементно. Это означает, что суммирование и вычитание являются одинако­выми операциями для матриц и массивов, а умножение для них различно. Matlab использует точку, как часть записи для операции умножения массивов.

Список операторов включает в себя:

Если магический квадрат Дюрера умножить на себя по правилам умножения массивов:

A.*A

результатом будет массив, содержащий квадраты целых чисел от 1 до 16:

ans =