Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Учебно-Технологический_Практикум_УТС.Б_5.pdf
Скачиваний:
146
Добавлен:
09.02.2015
Размер:
584.23 Кб
Скачать

Оператор 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+’.