
MATLAB_Matrix.ppt
- Количество слайдов: 6
Матричные операторы Оператор Лин. алгебра Размер A Размер B Размер результата A+B nxm nxm A-B nxm nxm A*B AB nxm mxk nxk A/B nxm mxm nxm AB nxn nxm A^B nxn 1 x 1 nxn A. *B nxm nxm A. /B nxm nxm A. ^B nxm nxm Примечание: Все операции так же определены в случае, если один из операндов имеет размер 1 x 1.
Создание матриц Матрица из нулей: zeros(n, m) Матрица из единиц: ones(n, m) Единичная матрица: eye (n, m) Случайная матрица из чисел равномерного распределения на [0, 1]: rand (n, m) Случайная матрица из чисел стандартного гауссовского распределения: randn (n, m)
Функции для работы с массивами isfinite – конечны или бесконечны значения в массиве? isempty – пустой ли массив? size (A) – строка размеров A. size(A, 3) – 3 я размерность A repmat (A, [n, m]) – продублировать массив A по n раз вдоль столбцов и m раз вдоль строк reshape (A, [n, m, k]) – изменить размерность массива на nxmxk. При этом количество элементов в A должно быть равно nmk. Просуммировать массив вдоль 2 й размерности: sum (A, 2) Произведение элементов массива вдоль 2 й размерности: prod (A, 2) Аналоги для накопительных сумм и произведений: cumsum, cumprod [B, I] = sort (A, 2) – отсортировать массив вдоль 2 й размерности. I – сортирующая перестановка: B = A (I); [B, I] = min (A, [], 2) – найти минимальные вдоль 2 й размерности значения в массиве. I – их номера. [B, I] = max (A, [], 2) – найти максимальные вдоль 2 й размерности значения в массиве. I – их номера. mean (A, 2) – найти средние значения вдоль 2 й размерности в массиве median (A, 2) – найти медианные значения вдоль 2 й размерности в массиве
Индексация массивов 1. Обращение к определенному элементу: A (3, 4) 2. Обращение к строке или столбцу: A (3, : ) A (: , 4) 3. Обращение к минору: A ([1, 3, 5], [2, 4, 1]) A (1: 2: end, 2: 2: end) A (1: end/2, end: -2: 1) 4. Обращение по условию: A (A > 0) 5. Прямое обращение к массиву-столбцу в памяти: A (: ) 6. Смешанное обращение: A (b>0, 3: 5)
m-файлы 1. Файлы программ на языке MATLAB имеют расширение. m и бывают двух типов: mсценарии и m-функции. 2. M-файлы должны иметь имена, состоящие из английских букв, цифр и знака _ и начинаться не с цифры (как функции и переменные в С/С++). 3. M-файл не может одновременно содержать и m-сценарий и m-функции. Файл с Mфункцией может содержать подфункции, при этом они доступны только функциям из этого файла. 4. M-сценарии имеют общее адресное пространство с командной строкой и могут вызываться из нее по названию файла. M-функции имеют собственное адресное пространство. 5. Файлы m-функций должны начинаться со слова function. 6. M-функция может принимать ограниченное или неограниченное количество переменных на вход и возвращать ограниченное или неограниченное количество переменных: Функция принимает не более четырех переменных и возвращает не более трех: function [x, y, z]=func (a, b, c, d)
В теле любой функции доступны переменные: nargin – число переменных, которые функция получила на вход; nargout – число переменных, которые пользователь потребовал вернуть при текущем вызове функции. Функция принимает и возвращает произвольное количество переменных: function varargout = func (varargin) В этом случае массив ячеек varargin имеет длину nargin, а массив ячеек varargout имеет длину nargout. Обращение к ним выглядит следующим образом: varargin {3} Функция принимает и возвращает произвольное количество переменных, первые 4 входных и 3 выходных имеют собственные имена: function [x, y, z, varargout] = func (a, b, c, d, varargin) В этом случае массив ячеек varargin имеет длину nargin-4, а массив ячеек varargout имеет длину nargout-3.
MATLAB_Matrix.ppt