Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лаб_по_ изображениям.doc
Скачиваний:
3
Добавлен:
01.03.2025
Размер:
7.5 Mб
Скачать

Матричные операторы

Оператор : применяется для формирования векторов и матриц или для выделения из них подвекторов, подматриц, подблоков массива.

Формирование векторов

A = j : k

если j >= k, то будет сформирован вектор A вида [j j+1 j+2 ... k]; если j < k, то пустой вектор А.

Для задания шага изменения значений создаваемого вектора используют следующую команду:

А = j : i : k,

если j <= k и i > 0 или j > k и i < 0, то будет сформирован вектор вида [j j+i j+2i... k]; если i < 0 и j < k, или i > 0 и j>k, то будет сформирован пустой вектор.

Выделение подблоков

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.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]