Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
pract_4.doc
Скачиваний:
2
Добавлен:
06.11.2018
Размер:
146.43 Кб
Скачать

1.5.4. Основные операторы языка

Прежде всего, отметим, что для языка MATLAB различие между командами, выполняемыми в командном окне при вводе с клавиатуры, и программными операторами, выполняемыми из программы, является условным.

1. Оператор присваивания. Является простейшим оператором языка. Его смысл полностью эквивалентен аналогичным операторам таких языков, как Си и Паскаль. Об отличии мы уже говорили, рассматривая матричные операции: некоторые функции могут одновременно возвращать несколько значений, поэтому в правой части соответствующего оператора могут находиться несколько переменных, список которых помещается в этом случае в квадратные скобки, например: [V,D]=eig(A).

А в целом, оператор присваивания состоит из правой части, знака присваивания «=» и левой части, где должно быть выражение или оператор вызова функции.

В зависимости от типа выражения в правой части, операторы присваивания делятся на арифметические, строковые, отношений и логические.

Арифметические операторы формируются в соответствии с правилами и особенностями формирования арифметических выражений.

Строковые операторы бывают только двух типов: простое присваивание строковой константы или вызов функции, манипулирующей со строками, например:

>> s1='any';

>> s2=' string';

>> s=strcat(s1,s2)

s =

any string

Операторы отношений позволяют сравнивать между собой однотипные массивы. При этом возвращается массив того же типа, элементами которого служат нули или единицы в зависимости от результата сравнения соответствующих компонент, например

>> A=[1 2; 3 4]

A =

1 2

3 4

>> B=[1 0; 3 5]

B =

1 0

3 5

>> s=A<B

s =

0 0

0 1

Логические операторы. Применяются по обычным правилам. Однако могут применяться с использованием массивов, например:

>> v=[1 2 0 3 0];

>> u=[2 3 0 4 1];

>> n1=u|v

n1 =

1 1 0 1 1

>> n2=u&v

n2 =

1 1 0 1 0

2. Условный оператор if в общем случае записывается следующим образом:

If условие1

операторы1

elseif условие2

операторы2

elseif условие3

операторы3

..

else

операторы4

end

Здесь первая совокупность операторов будет выполнена, если условие 1 истинное. Если оно ложно, то первая совокупность будет пропущена и осуществится проверка условия 2 альтернативной ветви: если оно будет истинным, то выполнится группа операторов 2 и условный оператор будет завершен. Если оно будет ложным, то проверяется условие 3 и т.д. Иными словами, в альтернативной ветви обязательно будет выполнен только один вариант, определяемый условиями elseif или else.

Заметим, что альтернативные ветви не являются обязательными частями оператора. В простейшем случае используется самый короткий его вариант без альтернативных частей:

If условие

операторы

end

3. Оператор цикла типа forend используются для организации вычислений с заданным числом повторяющихся циклов. Конструкция такого оператора имеет вид:

for v=М

операторы

end

Параметр М – это чаще всего вектор. В большинстве случаев он представляется с использованием оператора «:» в виде s:d:e, где s – начальное значение управляющей переменной цикла (v), d – приращение этой переменной, e – конечное значение управляющей переменной. На каждом шаге цикла переменная v последовательно принимает значения, соответствующие компонентам вектора М. Цикл выполняется до тех пор, пока v<=d.

Возможен также вариант, когда М не вектор, а матрица. Тогда цикл будет работать иначе: на каждом шаге управляющая переменная будет вектором, последовательно совпадающим со столбцами матрицы М.

В этом случае в цикле будет столько шагов, сколько имеется столбцов в указанной матрице, например запуск программы

A=rand(3);

for x=A

disp(x);

end;

из файла mm.m приведет к следующему результату:

>> mm

0.4447

0.6154

0.7919

0.9218

0.7382

0.1763

0.4057

0.9355

0.9169

Если есть необходимость в досрочном прерывании выполнения цикла, используется оператор break.

4. Оператор цикла типа while выполняется до тех пор, пока выполняется условие, указанное в заголовке:

while условие

операторы

end

5. Оператор переключения типа switch. Используется для реализации множественного выбора. Конструкцию оператора полностью аналогична соответствующим операторам в других языках, например:

switch var

case {1, 2, 3}

disp(‘one’)

case {4, 5}

disp(‘two’)

otherwise

disp(‘error’)

end;

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