Учёба / 01_-_Osnovy_programmirovania
.pdf
Специализированные матрицы
Функция |
Описание |
|
|
ones |
Создает матрицу или массив из единиц |
|
|
zeros |
Создает матрицу или массив из нулей |
|
|
eye |
Создает матрицу с «1» по диагонали, остальные – «0» |
|
|
diag |
Создает диагональную матрицу из вектора |
|
|
magic |
Создает квадратную матрицу, у которой сумма |
|
элементов любого столбца, строки и диагонали равна |
|
одному числу |
|
|
rand |
Создает матрицу или массив из равномерно |
|
распределенных случайных чисел |
|
|
11
Индексация элементов матриц
»Обращение к конкретному элементу матрицы
матрица(строка, столбец)
›на первом месте всегда строка, а на втором – столбец
»Линейная индексация
матрица(номер_элемента)
›сверху-вниз, слева-направо
12
Индексация элементов матриц
»Обращение к нескольким элементам
матрица(вектор_индексов)
›вектор_индексов – произвольный вектор чисел
использование оператора «:»
›матрица(строка, :) – все элементы строки
›матрица(:, столбец) – все элементы столбца
›матрица(:) – все элементы при линейной индексации
13
Индексация элементов матриц
»При использовании операции присваивания могут быть использованы все ранее рассмотренные способы индексации
»Пустая матрица – матрица у которой размерность равна 0х0
[ ]
›используют для удаления из матриц строк или столбцов
14
Анализ размерности
»length
length(массив) – возвращает количество элементов наибольшего измерения массива
»size
size(матрица) – возвращает размерность матрицы по каждому измерению
15
Манипуляции с матрицами
»fliplr
fliplr(матрица) – поворот матрицы на 180 в горизонтальном направлении;
»flipud
flipud(матрица) – поворот матрицы на 180 в вертикальном направлении;
»rot90
rot90(матрица) – поворот матрицы на 90 против часовой стрелки;
rot90(матрица, число) – поворот матрицы на число*90 против часовой стрелки;
»reshape(A, p, q)
reshape(матрица, p, q) – перегруппировка матрицы по столбцам в матрицу размерностью p q (если матрица имеет размерность m n, то p*q=m*n)
»sort
sort(вектор) – сортировка вектора по возрастанию
sort(матрица) – сортировка каждого столбца матрицы по возрастанию
16
Логические операции
»Результат
истина – 1
ложь – 0
»Пример
A = [0 1 1 0];
B = [1 1 0 0];
Оператор |
Описание |
Пример |
|
|
|
& |
Логическое «И» |
A & B = 0 1 0 0 |
|
|
|
| |
Логическое «ИЛИ» |
A | B = 1 1 1 0 |
|
|
|
xor |
Логическое исключающее «ИЛИ» |
xor(A,B) = 1 0 1 0 |
|
|
|
~ |
Логическое отрицание |
~A = 1 0 0 1 |
|
|
|
17
Логические функции
»any
any(массив) – возвращает 1, если некоторые из элементов не равны нулю, и 0 в противном случае
»all
all(массив) – возвращает 1, если все элементы x не равны нулю, и 0 в противном случае
»find
find(массив) – возвращает массив индексов, соответствующие элементы которого не равны нулю
find(условие) – возвращает массив индексов, соответствующие элементы которого удовлетворяют условию
18
Операции сравнения
»Результат
истина – 1
ложь – 0
Оператор |
Описание |
|
|
< |
Меньше |
|
|
<= |
Меньше либо равно |
|
|
> |
Больше |
|
|
>= |
Больше либо равно |
|
|
== |
Равно |
|
|
~= |
Не равно |
|
|
19
Арифметические операции
»В MATLAB различают два вида арифметических операций
матричные
поэлементные
»Для обозначения поэлементной операции используется символ «.»
например, «*» и «.*»
20
