- •Основы программирования в matlab методические указания
- •Введение
- •1. Виды программ в matlab
- •1.1 Сценарии (скрипты)
- •1.2 Функции
- •1.3 Основные и локальные функции
- •1.4 Вложенные функции
- •1.5 Анонимные функции
- •2. Управляющие конструкции
- •2.1 Условный оператор if
- •2.2 Оператор выбора switch-case
- •2.3 Цикл с определённым количеством итераций
- •2.4 Цикл с неопределённым количеством итераций
- •2.5 Операторы return, break и continue
- •2.6. Функция input
- •3. Комментарии в программе
- •4. Лабораторное задание
- •Библиографический список
- •Содержание
- •09.03.02 «Информационные системы и технологии»
- •09.03.01 «Информатика и вычислительная техника»
- •394026 Воронеж, Московский просп., 14
1. Виды программ в matlab
Программа MATLAB – обычный текстовый файл с расширением .m. Файлы с другими расширениями не воспринимаются как программы. Команды в коде отделяются друг от друга так же, как и при работе с интерпретатором:
переход на новую строку (отображается результат выполнения команды);
точка с запятой (результат последней команды не отображается);
запятая (для записи в одной строке нескольких инструкций).
М-файлы в MatLab бывают двух типов:
файлы-сценарии (Script M-Files), содержащие последовательность команд;
файл-функции, (Function M-Files), в которых описываются функции, определяемые пользователем.
Создать m-файл можно как из самой среды MATLAB, так и в любом другом текстовом редакторе. В первом случае это делается следующим образом:
HOME > New Script или Ctrl+N – для создания сценария;
HOME > New > Script (Function) – для создания сценария (функции)
Также можно воспользоваться командой edit, создающей указанный m-файл:
>> edit filename
или
>> edit D:/matlab/filename
Необходимо обратить внимание на отсутствие расширения в имени файла.
Чтобы вызвать программу, нужно перейти в папку, где находится её код, с помощью команды cd (или указать полный путь) и написать имя m-файла без расширения, например:
>> cd D:/
Если m-файл открыт в редакторе MATLAB, то его можно запустить, нажав на кнопку EDITOR > Run. Если программа найдена, то MATLAB производит её синтаксический анализ. Затем, если ошибок не обнаружено, программа начнёт выполняться.
Программы MATLAB можно классифицировать следующим образом:
Рисунок 1 - Классификация программ MATLAB
1.1 Сценарии (скрипты)
Сценарии представляют собой простейший тип программ. Файл сценария содержит последовательность команд MATLAB, и его работа заканчивается после выполнения последней из них.
Сценарии не возвращают и не принимают в качестве аргументов никаких значений. Однако они могут обращаться к переменным в рабочем пространстве пользователя, равно как и пользователь имеет доступ к локальным переменным сценария во время его выполнения. Для этого в код программы в определённом месте необходимо вставить команду keyboard. При этом вид приглашения к вводу изменится с «>>» на «K>>». Чтобы продолжить выполнение сценария введите в командной строке return.
Рассмотрим пример.
Создадим файл script1.m со следующим содержанием:
x1 = 0;
disp(x1)
keyboard
disp(‘снова в сценарии’)
disp(x1)
Запустим сценарий. При этом в командной строке появится текущее значение переменной x1, определённой в сценарии, и изменённое приглашение к вводу:
>> script1
0
K>>
Присвоим x1 произвольное значение и продолжим выполнение программы:
K>> x1 = 5;
K>> return
В результате получим:
>> снова в сценарии
>> 5
1.2 Функции
Функции – программы, которые могут как принимать, так и возвращать некоторые данные. Доступ к локальным переменным функции извне невозможен. Так же и функция не может работать с переменными рабочего окружения пользователя, если они не переданы ей в качестве аргументов.
Структура m-файла функции имеет вид:
% комментарии
function [возвращаемые значения] = имя функции (аргументы)
команды
В начале файла рекомендуется использовать комментарии. Об этом будет рассказано позже.
Возвращаемые значения – список переменных, в которые будут записаны результаты выполнения функции. Если такое значение единственное, квадратные скобки можно опустить. Возвращаемые значения могут полностью отсутствовать:
function имя функции (аргументы)
команды
Имя функции должно совпадать с именем файла. Оно начинается с буквы и может содержать также цифры и символ подчёркивания. Необходимо обратить внимание на то, что имена функций в текущей директории могут скрывать имена стандартных функций MATLAB (в этом случае должно появиться предупреждение).
Аргументы функции должны быть указаны в круглых скобках. Их имена не обязательно должны совпадать с именами переменных, передаваемых функции, и служат только для обращения к ним изнутри неё. Аргументы также могут отсутствовать:
function [возвращаемые значения] = имя функции
команды
Также функция может не иметь ни возвращаемых значений, ни аргументов, но тогда теряется её преимущество перед сценариями.
Для вызова функции необходимо перейти в папку с её m-файлом и указать имя функции без расширения. Затем, если она принимает аргументы, необходимо указать их в скобках.
В качестве примера создадим файл say_this.m:
function SayThis(s)
disp(s)
Вызовем функцию в интерпретаторе:
>> cd D:/matlab/
>> SayThis(‘Hello, world!’)
Любая функция может принимать в качестве параметров результаты выполнения других команд. Если она сама возвращает какие-либо значения, то её также можно передать в качестве аргумента.