Выделение подблоков
A(i1: i2, j1: j2) – выделение подблока массива A со строками i1: i2 и столбцами j1: j2. A(i,:) – обращение к i -й строке массива A; A(:, j) – обращение к j -му столбцу массива A. Поскольку в языке Matlab элементы массива упорядочены по столбцам, то допустимы операторы вида A(n1:n2), которые выделяют пронумерованные элементы с номера n1 до номера n2. Оператор A(:) записывает все элементы массива A в виде столбца.
Для определения размера массива может использоваться оператор size, который возвращает вектор, элементы которого содержат число строк, столбцов и т.д. анализируемого массива. Например: %формируем массив размером 1x2 mas = [1 2; 3 4] %определяем размерность массива razmer = size(mas)
При работе с матрицами в системе Matlab, используются стандартные арифметические операторы: +, -, *, / (- левое деление), \ (- правое деление), ^ (- возведение матрицы в степень). Для обозначения поэлементных операций с векторами и матрицами используется оператор. (- точка), который добавляется перед стандартным обозначением арифметической операции: .* – поэлементное умножение для массивов; .^ – возведение в степень для массивов; .\ – левое деление для массивов; ./ – правое деление для массивов. Пример %формируем две матрицы 3x3 A = [1 2 3; 4 5 6; 7 8 9] B = [1 1 1; 2 2 2; 3 3 3] %перемножаем матрицы C = A*B %выполняем поэлементное умножение массивов D = A.*B Циклы
Для организации циклических вычислений в Matlab используются два оператора: for и while.
Синтаксис оператора for: for <variable> = <expression> <statements> End В качестве выражения < expression> обычно используется выражение вида: i_start:i_step:i_end, где i_start - стартовое значение счетчика цикла <variable>, i_step – шаг, с которым изменяется значение счетчика цикла, i_end - конечное значение счетчика цикла. Если шаг не задан, то по умолчанию он принимается равным 1.
Пример for m = 1:k for n = 1:k a(m,n) = 1/(m+n -1); End End
Синтаксис оператора while: while <expression> <statements> End Операторы < statements> выполняются до тех пор, пока действительная часть выражения < expression> имеет все ненулевые элементы. Пример K = 1; eps = 0; n = 10; while eps < n eps = eps+k; k = k + 1; End Для преждевременного выхода из циклов используется оператор break. Оператор break определен только внутри операторов for и while. Для выхода из функций необходимо использовать оператор return. Для досрочной передачи управления на следующую итерацию цикла используется оператор continue.
|