Файл-программы (их также называют сценариями или скриптами) являются простейшим типом M-файлов. Они содержат последовательность команд без входных и выходных параметров.
В качестве примера составим файл-программу нахождения длины d = радиус - вектора точки (x;y;z) трехмерного пространства с двумя фиксированными координатами y = 3, z = 4. В главном меню MATLAB выберем команду File => New => M-file (Файл=>Новый=>M-файл), в результате чего раскроется окно редактора M-файлов (рис. 3.1).
Рис.3.1
В этом окне введем следующие строки:
y=3;z=4;
d=sqrt(x^2+y^2+z^2)
Обратим внимание, что строка, задающая d, не завершена точкой с запятой, поэтому результат работы этой строки будет отображаться в командном окне.
Сохраним введенный файл-сценарий в текущем каталоге под именем, например, myprog.m. Для этого в окне редактора M-файлов выберем команду File => Save As(Файл=>Сохранить как). В появившемся диалоговом окне Save file as(Сохранить файл как) раскроется подкаталог work основного каталога MATLAB, который по умолчанию определен в качестве текущего рабочего каталога Current Directory. В поле File name(Имя файла) введем имя myprog вместо отобразившегося по умолчанию имени Untitled.m и щелкнем на кнопке Save (Сохранить). Расширение .m вводить не следует, система MATLAB добавит его автоматически.
Выполнить сохраненный файл-сценарий можно одним из следующих способов:
в редакторе M-файлов выбрать команду Debug => Run (Отладка=>Запуск);
набрать в командной строке имя M-файла (без расширения) и нажать клавишу <Enter>, т. е. выполнить сценарий как команду MATLAB.
Выполним сценарий вторым способом:
>> x=2;
>> myprog
d =
5.3852
Ответом является длина 5,3852 радиус - вектора точки (2;3;4).
При работе с редактором M-файлов имеется возможность запуска только части команд, из которых состоит M-файл. Для этого надо выделить команды при помощи мыши и нажать клавишу <F9>. Выделенные команды выполняются последовательно, точно так же, как если бы они были набраны в командной строке. Очевидно, что работать в M-файле удобнее, чем в командной строке, поскольку можно сохранить программу, можно редактировать ее, используя обычные приемы редактирования, общие для Windows - приложений, в том числе с помощью мыши и клавиш <↑> и <↓>.
Если вы захотите изменить созданный M-файл (например, зафиксировать координаты y = 4, z = 5), внесите соответствующие изменения в текст программы
y=4;z=5;
d=sqrt(x^2+y^2+z^2)
сохраните эти изменения и вновь запустите файл-сценарий:
>> x=2;
>> myprog
d =
6.7082
Теперь сценарий myprog.m вычислил длину 6,7082 радиус - вектора точки (2;4;5).
Сценарийmyprog.m обрабатывает как свои собственные переменные y, z, так и переменную x, определенную до вызова сценария в командном окне системы MATLAB и хранящуюся в ее рабочем пространстве. Это возможно потому, что переменные, определяемые в сценариях, и переменные, определяемые в командном окне, составляют единое рабочее пространство системы MATLAB. В свою очередь, все переменные, созданные во время работы сценария, остаются в рабочем пространстве MATLAB и после окончания его выполнения, т. е. являются глобальными. Можно убедится в этом, выполнив команду who:
>> who
Your variables are:
d x y z
Справочную информацию по M-программам можно получить, введя команду doc script.