Операторы языка Matlab

К основным операторам языка Matlab, кроме рассмотренного ранее оператора присваивания, относятся:

оператор ввода input;

оператор отображения информации на экране disp;

оператор меню menu;

оператор вывода сообщения об ошибке error;

оператор задержки pause;

условный оператор if;

операторы циклов for и while;

оператор выбора switch;

оператор попытки try;

оператор прерывания работы цикла break;

оператор интерпретации строки eval;

оператор интерпретации имени функции feval;

Правила записи операторов

Операторы могут быть записаны в командной строке или в строках создаваемых пользователем m-файлов. В обоих случаях строка может содержать один или несколько операторов. В последнем случае операторы в одной строке отделяются друг от друга символами "," или ";" (";" подавляет вывод результата на экран, а "," этого не делает).

Один оператор может быть записан на нескольких строках (например, если он очень громоздкий). В этом случае в конце каждой строки (кроме последней) ставится многоточие "…"

Операторы ввода

1. Оператор консольного ввода input.

Формат оператора:

имя_перем = input(строковая_конст);

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

» n=input('Введите размерность массива n=');

Введите размерность массива n=5

» n

n =

2. Оператор временного перехода в интерактивный режим keyboard.

Как правило, записывается в программном (script-) файле и очень удобен на стадии отладки программы. Формат вызова:

keyboard

После выполнения оператора выполнение m-файла приостанавливается, управление передается клавиатуре. После этого пользователь имеет возможность проверить или изменить значения некоторых переменных, используемых в m-файле, выполнение которого было прервано.

Возврат к выполнению m-файла производится путем вызова оператора возврата в формате

return

и управление передается оператору, следующему за оператором keyboard.

Операторы вывода

1. С помощью имени переменной

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

2. Оператор вывода disp.

Формат оператора:

disp(имя_перем)

Выводит значение переменной на экран без отображения ее имени.

» k=1:10;

» disp(k)

1 2 3 4 5 6 7 8 9 10

При использовании составного массива в качестве аргумента часто необходимо использовать функцию преобразования int2str(числ_перем), которая округляет значение числовой переменной до ближайшего целого и преобразует последнее в строковую константу:

» disp(['Размерность массива ' int2str(length(k))])

Размерность массива 10

Оператор задержки

Удобен при выводе в командное окно больших объемов информации. Вызов оператора возможен двумя способами:

pause – ожидает нажатия пользователем произвольной клавиши;

pause(n) – выполняет задержку на n секунд.

Оператор меню

Может рассматриваться как разновидность оператора ввода.

Формат оператора:

переменная = menu ('заголовок','поле1','поле2',…)

Операторы языка Matlab - student2.ru Генерирует на экран графическое окно с кнопками, предоставляя пользователю возможность выбора одного из полей. Порядковый номер поля присваивается в качестве значения переменной, указанной слева от операции присваивания.

» k=menu('Выберите двигатель','ДПТ','АД','СД')

k =

Оператор цикла for

Формат оператора:

for имя_перем-парам = выражение

операторы

end

Пример. Текст функции ones(n).

for i = 1:n, x(i)=0, end

Пример 2. Формирование матрицы.

for i = 1:m

for j = 1:n

A(i,j) = 1/(i+j);

end

end

Пример 3. Отрицательный шаг.

t = [–1 0 1 3 5];

n = length(t);

A = rand(1,n);

for j = n:-1:1

A(j) = t.*A(j);

end

Переменная-параметр цикла может быть целочисленной, дробной, а также вектором, например,

for x = [1.25 16 –7 pi –3.45]

end

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

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

Оператор цикла while

Формат оператора:

while выражение

операторы

end

Пример. Дано действительное число M>0. Найти минимальное целое n, такое, что n!>M.

M=10e100;

while prod(1:n)<=M, n = n+1; end

Условный оператор

Формат оператора:

if выражение1

операторы1

elseif выражение2

операторы2

else

операторы3

end

Число альтернативных ветвей elseif не ограничено.

При записи выражений 1 и 2 используются операции сравнения.

a=rand(1); b=rand(1);

if a>b

c=a;

elseif a<b

c=b;

else disp('Числа равны');

end

Наши рекомендации