Простейшие средства программированиям в 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_файла не будет воспринимать комментарий и возвратит сообщение вида