Оператор BREAK - прерывание выполнения цикла
Синтаксис:
break
Оператор break прерывает выполнение циклов for и while. Для вложенных циклов прерывание возможно только из самого внутреннего цикла.
Пример 10:
Цикл while будет выполняться до тех пор, пока не будет введено нулевое или отрицательное значение переменной:
Скрипт ex1break
while 1
n=input('Введите n. Прекращение ввода n <= 0 или n = 0 '); if n<= 0, break, end
r = rank(magic(n)) end
Ввод и вывод данных в MATLAB
Диалоговый ввод данных
Для взаимодействия с пользователем в процессе выполнения М-файлов в системе MATLAB предназначены следующие команды:
input Ввод информации
keyboard Переключение на ввод с клавиатуры из М-файла
pause Приостановка выполнения М- файла
menu Формирование меню выбора
Функция INPUT
Синтаксис:
х= input(<приглашение>)
х= input(<приглашение>, 's')
Описание:
Функция х = input(<приглашение>) выводит на экран строку с приглашением и ожидает ввода выражения, допустимого в системе MATLAB: арифметическое выражение, имя встроенной функции или М-
файла. Если функция имеет несколько выходных параметров, то выходной переменной х присваивается только первое значение.
Функция х = input(<приглашение>, 's') ожидает ввода строки и возвращает строку, которая введена пользователем. Если нажать клавишу Enter без ввода строки, то будет введен пустой массив символов.
Вводимая строка символов может содержать одну или несколько групп символов \n, которая соответствует переходу на следующую строку. Используя управляющие символы строка приглашения может быть размещена на нескольких строках.
Для вывода обратного слэша \ нужно использовать комбинацию символов \\.
Пример11:
Задействовать клавишу Enter для ввода ответа по умолчанию.
Скрипт ex1input:
while 1
i=input('Продолжить? Да/Нет [Да]','s'); if isempty(i)
i='Да'; else
i='Нет'; end
ans = strcat('Ваш ответ -',i); disp(ans)
end
Результат:
Оператор KEYBOARD - переключение на работу с клавиатуры из М- файла
Синтаксис:
keyboard
Оператор keyboard прерывает исполнение М-файла и передает управление клавиатуре. Этот специальный режим работы отмечается тем, что на экране появляется приглашение К”. Фактически – это режим отладки m – файла. В этом режиме можно проверить или изменить переменные. Доступны все команды системы MATLAB. Работа в этом режиме будет завершена, если выполнить команду return; после этого управление будет передано М-файлу, или команду dbquit – управление будет возвращено MATLAB.
Пример12:
Задействовать клавишу Enter для ввода ответа по умолчанию c режимом отладки.
Скрипт ex1kbd:
while 1
i=input('Продолжить? Да/Нет [Да]','s'); if isempty(i)
i='Да'; else
i='Нет'; End keyboard;
ans = strcat('Ваш ответ -',i); disp(ans)
end
Результат:
Оператор PAUSE - приостановка выполнения М-файла
Синтаксис:
pause
pause (n)
pause on
pause off
Команда pause приводит к паузе в работе системы и ожиданию нажатия любой клавиши для продолжения.
Команда pause(n) приостанавливает работу системы MATLAB на n секунд. Это позволяет привлечь внимание пользователя к выдаваемой на экран в процессе работы М-файла числовой или графической информации.
Пример13:
for i=3:10, mesh(magic(i)),pause(2),end
Функция MENU - создание меню
Синтаксис:
k = menu('<заголовок>', 'выбор 1, 'выбор 2', ... 'выбор n')
Описание:
Функция k = menu('<заголовок>', 'выбор 1, 'выбор 2', ... 'выбор n') при работе с оконным интерфейсом выводит на экран меню с заголовком и кнопками выбора. Выходному параметру k присваивается номер выбранной кнопки.
Пример14:
Скрипт ex1menu
while 1
k=menu('Базис','Полиномы Чебышева 1 рода','Полиномы Чебышева 2 рода','Полиномы Лежандра','Выход');
switch k case 1
s='Полиномы Чебышева 1 рода'; case 2
s='Полиномы Чебышева 2 рода'; case 3
s='Полиномы Лежандра'; case 4
s=0; end
if ~s break, end; disp(s);
end
Результат последовательного выбора пунктов меню
будет таким:
Ввод данных из файла
Основные функции ввода приведены в таблице:
fscanf Чтение форматированных данных из файла
textread Чтение форматироавнных данных из текстового файла
fread Чтение данных из двоичного файла
fgetl Чтение очередной символьной строки из файла. Символы конца строки не включаются.
fgets Чтение очередной символьной строки из файла. Символы конца строки включаются
fopen Открытие файла на чтение или запись
FOPEN - открытие файла
Синтаксис:
FID = FOPEN(FILENAME,OPTIONS) открывает файл FILENAME и
присваивает ему идентификатор файла - FID. Если файл окрыт на чтение и не найден в текущем каталоге MATLAB, FOPEN ищет его в установленных каталогах MATLAB.
Опции могут быть следующими строками: ‘r’ чтение
‘w’ запись, создание, если необходимо
‘a’ добавление, создание, если необходимо ‘r+’ чтение или запись существующего файла
‘w+’ перезапись или открытие на чтение или запись ‘a+’ чтение или дабавление в файл
‘W’ запись без автоматического обновления
‘A’ добавление без автоматического обновления
По умолчанию, файлы открываются в двоичном формате. Для открытия в текстовом формате, необходимо добавлять опцию-
префикс t: например -‘rt’ and ‘wt+’.