Тема 1.3. Средства Matlab для создания и описания m-файлов
1.3.1. Основные понятия и средства программирования в MatLab
1.3.2. Описание и работа с m-сценариями
1.3.3. Описание и работа с m-функциями
1.3.4. Основные операторы m-языка и программирование в MatLab
1.3.5. Примеры решения задач средствами MatLab
1.3.6. Лабораторная работа по теме
1.3.7. Контрольные вопросы по теме
1.3.1. Основные понятия и средства
программирования в MatLab
Использование системы Matlab только в режиме непосредственного расчета (в командном режиме) явно недостаточно для решения серьезных задач, поскольку, во-первых, зачастую требует выполнения сложных алгоритмических процессов, а, во-вторых, необходим механизм хранения в библиотеках команд и операторов системы Matlab. То есть необходимы средства, какие есть в языках программирования высокого уровня.
Такие средства в Matlab существуют. Они состоят из так называемых m-файлов и средств их создания и отладки – Редактора программного кода. М-файлы представляют собой текстовые файлы, которые могут храниться в файлах («библиотеках») Matlab с расширением m.
Если вспомнить технологию процедурного программирования [x], то m-файлы фактически являются процедурами системы Matlab. Эти m-файлы могут состоять из следующих элементов (средств языка программирования Matlab):
· описания данных различного типа;
· описания констант и переменных, в том числе системных;
· операции;
· системные команды и функции;
· функции пользователя;
· оператор присваивания и управляющие операторы;
· системные операторы и функции;
· средства работы с файлами данных;
· средства расширения языка.
Обратите внимание, что каждому типу данных можно соотнести некоторые характерные для него операции, называемые методами (система Matlab является объектно-ориентированной системой). А поскольку в иерархии типов данных сверху находятся данные типа Array, это значит, что все виды данных в MatLab являются массивами.
Программирование инженерных задач в среде MatLab очень напоминает программирование на универсальных языках программирования. Однако поскольку в Matlab можно использовать не только выражения над структурированными данным (например, массивами) но и системные команды и функции, то система программирования Matlab является мощной программной системой.
При создании новых m-файлов Редактор можно открыть путем активизации инструментов New ScriptилиNew(рис. 1.1.1-1),а для редактирования существующих инструментом Openили двойным щелчком мышки по имени m-файла. При этом в рРабочей среде добавляются еще три вкладки инструментальной панели: EDITOR, PUBLISHи VIEW (рис. 1.3.1-1).
Рис. 1.3.1-1. Рабочая среда при открытиях m-файла
При активной вкладке EDITOR инструменты инструментальной панели позволяют открывать, сохранять, редактировать, запускать и осуществлять отладку m-файлов.
Эти инструменты разбиты на следующие категории:
· FILE – категория, включающая инструменты, которые позволяют создавать новые наборы команд и программы, и сохранять их в файлах; открывать существующие наборы команд и программ и загружать их из файлов; создавать различные объекты Matlab, осуществлять поиск файлов различных типов т.д.
· EDIT – категория, включающая инструменты, которые позволяют работать с текстом m-файла в окне редактора: вставлять в текст m-файлов различные элементы; превратить в комментарий текущую строку или вернуть ее к исходному виду; уменьшить или увеличить отступы текущей строки или нескольких выделенных строк на заданное число позиций влево или вправо; выполнить интеллектуальный отступ.
· NAVIGATE – категория, включающая инструменты, которые позволяют осуществить навигацию в текущем m-файле: перейти к следующей или предыдущей строке; быстро перейти к строке с заданным номером и др. инструменты.
· BREAKPOINTS – категория, включающая инструменты, которые позволяют управлять точками останова во время отладки m-файла.
· RUN – категория, включающая инструменты, которые позволяют записать m-файл в текущий каталог и запустить его на выполнение, а также выполнять m-файл по секциями и управлять ими.
В Matlab существуют два типа m-файлов: m-сценарии и m-функции.
М-сценарий представляет собой последовательность команд и функции Matlab (без входных и выходных параметров),которые оперируют данными из Рабочей области, причем результаты выполнения m-сценария доступны Рабочей областии могут быть использованы для дальнейших вычислений. В среде Matlab m-сценарий принято также называть script-файломили простоscript, поэтому в дальнейшем мы будет использовать этот термин.
M-функции – это функции Matlab, аналогичные функциям языков программирования высокого уровня, таких как C++,C# и VB, которые могут иметь как входные, так и выходные параметры, также локальные переменные.