Простейшие средства программированиям в MatLab
До сих пор мы в основном использовали систему MatLab в режиме непосредственного счета – в командном режиме (командном окне). Однако при решении серьезных задач возникает необходимость сохранения используемых последовательностей вычислений, а также их дальнейшей модификации. Иными словами, существует необходимость программированиярешения задач. Программирование в системе MatLab является эффективным средством ее расширения и адаптации к решению специфических проблем. Оно реализуется с помощью языка программированиясистемы MatLab.
Большинство объектов этого языка, в частности все команды, операторы и функции, одновременно являются объектами входного языкаобщения с системой в командном режиме работы. Так что фактически мы приступили к описанию языка программирования системы MatLab с первых строк данной книги.
Так в чем же отличие входного языка от языка программирования? В основном – в способе фиксации создаваемых ими кодов. Сессии в командном режиме работы не сохраняются в памяти компьютера. А вот программы на языке программирования MatLab сохраняются в виде текстовых файлов (m-файлов). При этом могут сохраняться как целые программы в виде файлов-программ, так и отдельные программные модули — функции. Кроме того, важно, что программа может менять структуру алгоритмов вычислений в зависимости от входных данных и данных, создаваемых в ходе вычислений.
Итак, программами в системе MatLab являются программы оформленные как m-файлы текстового формата, содержащие запись программ в виде программных кодов. Язык программирования системы MatLab имеет следующие средства:
· данные различного типа;
· константы и переменные;
· операторы, включая операторы математических выражений;
· встроенные команды и функции;
· функции пользователя;
· управляющие структуры;
· системные операторы и функции;
· средства расширения языка.
Тексты программ в системе MatLab пишутся на языке высокого уровня, достаточно понятном для пользователей умеренной квалификации в области программирования. Язык программирования MatLab является типичным интерпретатором.
Интерпретация означает, что MatLab не создает исполняемых конечных программ. Они существуют лишь в виде m-файлов, для выполнения, которых необходима среда MatLab. Однако для программ на языке MatLab созданы компиляторы, транслирующие программы MatLab в коды языков программирования С и C++. Это решает задачу создания исполняемых программ, первоначально разрабатываемых в среде MatLab. Компиляторы для системы MatLab являются вполне самостоятельными программными средствами.
Начальное представление о переменных, встроенных константах и функциях уже было дано в предшествующей теме.
Итак, мы установили, что работа в командном режиме (сессия) не является программированием. Внешним атрибутом последнего в MatLab служит задание последовательности действий по программе, записанной в виде m-файла. Для создания m-файлов может использоваться как редактор, встроенный в MatLab, так и любой текстовый редактор. Подготовленный и записанный на диск m-файл с соответствующим именем становится частью системы, и его можно вызывать как из командной строки, так и из другого m-файла. Имеется два типа m-файлов: файлы-программы и файлы-функции. Важно, что в процессе своего создания они проходят синтаксический контроль с помощью встроенного в систему MatLab редактора/отладчика m-файлов.
Здесь мы рассмотрим лишь простейший тип m-файлов – файлы-программы, а все средства программирования в MatLab студенты могут изучить самостоятельно (Тема 3.5. М-файлы и программирование средствами MatLab).
Файл-программа, именуемый также Script-файлом, является просто записью последовательности команд без входных и выходных параметров. Он имеет следующую структуру:
-Имя_файла |
% Основной комментарий % Дополнительный комментарий Тело файла с любыми выражениями |
Файлы-программы имеют следующие особенности:
· они не имеют входных и выходных аргументов;
· работают с данными из рабочей области;
· в процессе выполнения не компилируются;
· представляют собой зафиксированную в виде файла последовательность операций, полностью аналогичную той, что используется во время сессии.
Основным комментарием является первая строка текстовых комментариев, а дополнительным – последующие строки комментариев. Это связано с тем, что основной комментарий выводится при выполнении команд lookfor и help имя_каталога. Полный комментарий выводится при выполнении команды help Имя_файла. В качестве примера рассмотрим файл-программу PlotSinи пример вызова ее.
Пример 3.1-52 m-файла |
% Построение графика синусоиды линией красного цвета % с масштабной сеткой в интервале [xmin.xmax] x=xmin:0.1:xmax; plot(x,sin(x),е6'r') grid on |
Пример 3.1-52 сессии |
>> xmin=-1; >> xmax=1; >> Пример5.5-1; >> |
Первые две строки m-файла Пример 3.1-52– это комментарий, остальные – тело файла. Знак %в комментариях должен начинаться с первой позиции строки. В противном случае команда help name_файла не будет воспринимать комментарий и возвратит сообщение вида