
Учёба / 01_-_Osnovy_programmirovania
.pdf
Скрипты
»Создание
Выбор команд из Command History, правый клик и выбор Create Script
Нажатие кнопки
Использование функции edit
›edit – создает новый файл
»Редактирование
Функция edit
›edit имя_файла
31

Комментарии
»Добавление комментариев
% может быть установлен в любом месте программы
комментирование нескольких строк – %{ и %}
›занимает всю строку
использование кнопок графического интерфейса
32

Оператор ввода
»input
результат=input(подсказка) – на экран выводится текстовое сообщение, соответствующее указанной строковой константе (подсказка), и ожидается ввод пользователем значения переменной (результат)
›нажатие «ввод» без введения данных возвращает пустую матрицу
›введение некорректного значения приводит к соответствующей ошибке и повторному запросу
результат=input(подсказка, ‘s’) – возвращает введенный текст как строковую переменную
33

Оператор вывода
»disp
disp(переменная) – выводит значение переменной на экран без отображения ее имени
›функция поддерживает только одну входную переменную
›для вывода нескольких значений можно использовать объединение в массив
›для преобразования числовых значений в символьные используется функция num2str
34

Оператор условия
if выражение
операторы
elseif выражение
операторы
else
операторы
end
»Число альтернативных ветвей elseif не ограничено
»Выражение – «истина» если результат не нулевая матрица и все значения не нулевые (логические или числовые)
в противном случае выражение имеет значение – «ложь»
»Выражение может содержать логические операторы и операторы сравнения
35

Оператор выбора
switch выр_переключение case выр_случай
операторы case выр_случай
операторы
:
otherwise
операторы
end
»выр_переключение – скаляр или строка
»выр_случай – массив ячеек из скаляров или строк
»Ветвь case выполняется в случае значения «истина»
для чисел, если
eq(выр_случай, выр_перелючения)
для строк, если
strcmp(выр_случай, выр_перелючения)
для объектов, которые поддерживают функцию eq – eq(выр_случай, выр_перелючения)
для массива ячеек, если хотя бы один элемент выр_случай равен
выр_перелючения
»Когда case «истина» производится выход из switch
36

Операторы цикла
for параметр = значения операторы
:
end
while выражение операторы
end
»Выполняет программу определенное количество раз
»Значения
начало : конец
начало : шаг : конец
массив значений
»Выполняет программу пока выражение не примет значение «истина»
»Выражение – «истина» если результат не нулевая матрица
и все значения не нулевые (логические или числовые)
в противном случае выражение имеет значение – «ложь»
37

Разное
»pause
pause – ожидает нажатия пользователем произвольной клавиши
pause(время) – выполняет задержку на указанное время (секунды)
pause on – разрешает использование пауз
pause off – запрещает использование пауз
pause query – текущее состояние пауз
»break
прекращает выполнение циклов for и while
›команды написанные после break не выполняются
в случае вложенных циклов break осуществляет выход только из текущего цикла
»continue
прекращает выполнение циклов for и while без выхода из них
›команды написанные после continue не выполняются, происходит переход в начало цикла
38

Оптимизация выполнения программ
»Операции над векторами и матрицами в целом выполняются намного быстрее, чем соответствующие им поэлементные операции
Поэтому следует стремиться к максимальной векторизации алгоритмов в m-файлах, особенно при больших объемах вычислений
»Продолжительность выполнения операций
tic, операторы, toc
etime(вектор_2, вектор_1) – позволяет определить время, прошедшее между двумя векторами
›вектор может быть сформирован с помощью clock
39

Функции
»function
function [выход] = имя(вход) – объявление функции
›первая выполняемая строка в файле
код функции сохраняется в m- файле с именем функции
›требования к имени аналогичные рассмотренным ранее
»Добавление помощи
комментарии (%) следует добавлять сразу после ключевого слова
›первая строка, обычно, содержащая имя программы и краткое описание, называется «Н1»
›для создания ссылок используется –
«% See also»
40