8(495)909-90-01
8(964)644-46-00
pro@sio.su
Главная
Системы видеонаблюдения
Охранная сигнализация
Пожарная сигнализация
Система пожаротушения
Система контроля удаленного доступа
Оповещение и эвакуация
Контроль периметра
Система домофонии
Парковочные системы
Проектирование слаботочных сетей
Аварийный
контроль
Раздел: Документация

0 ... 70 71 72 73 74 75 76 ... 365

Глава 5

М-файлы

В предыдущих главах мы рассмотрели достаточно простые примеры, для выполнения которых требуется набрать несколько команд в командной строке. Для более сложных задач число команд возрастает, и работа в командной строке становится непродуктивной. Использование истории команд, сохранение переменных рабочей среды или ведение дневника при помощи diary незначительно повышают производительность работы. Эффективное решение состоит в оформлении собственных алгоритмов в виде программ (М-файлов), которые можно запустить из рабочей среды или из редактора. Встроенный в MATLAB редактор М-файлов позволяет не только набирать текст программы и запускать ее целиком или частями, но и отлаживать алгоритм. Подробная классификация М-файлов приведена ниже.

Отладка программ описана в главе 8.

Работа

в редакторе М-файлов

Раскройте меню File рабочей среды MATLAB и в пункте New выберите подпункт M-file или нажмите кнопку New M-file на панели инструментов рабочей среды. Новый файл открывается в окне редактора М-файлов, которое приведено на рис. 5.1.

Вид строки меню и панели инструментов зависит от ширины окна. Если оно достаточно узкое, то часть инструментов перемещается в раскрывающийся список.

Наберите в редакторе команды для построения двух графиков на разных осях в одном графическом окне. Не обязательно набирать много команд — наша цель сейчас состоит в том, чтобы научиться выполнять команды из


редактора М-файлов. Ограничьтесь командами, приведенными в листинге 5.1.

в Editni Untitled

Fin Ей Тел Cel Tool: Debug DeAIco WrOm Heb

T

Г-fN » I г ж

•*«.u. 1 Co,

Рис. 5.1. Окно редактора М-файлов MATLAB

j Листинг 5.1. Команды для построения графиков

X = 0:0.1:7; £ = ехр(-х); subplot(1, 2, 1) plotx, f) g = sin(x); subplot(1, 2, 2) plot(x, g)

Сохраните теперь файл с именем mydemo.m в подкаталоге work основного каталога MATLAB, выбрав в меню File редактора пункт Save as. Для запуска на выполнение всех команд, содержащихся в файле, следует выбрать пункт Run в меню Debug, или просто нажать <F5>. На экране появится графическое окно Figure 1, содержащее графики функций. Результат эквивалентен последовательному выполнению команд листинга 5.1 в командном окне. Однако если вы решили построить график косинуса вместо синуса, то достаточно просто изменить оператор присваивания д = sin(x) в М-файле на д = cos (х) и запустить из редактора все команды. Аналогичные действия из командной строки потребовали бы больше времени.


1 Примечание

Если вы создали новый файл в редакторе и набрали в нем команды, то необязательно сначала сохранять его из меню File, а только потом выполнять. Можно сразу раскрыть меню Debug. Пункт Run в этом случае заменяется на Save and Run, он позволяет запустить программу, предварительно сохранив ее.

Очень удобной возможностью редактора М-файлов является выполнение части команд. Закройте графическое окно Figure 1. Выделите при помощи мыши, удерживая левую кнопку, первые четыре команды листинга 5.1. Затем откройте контекстное меню правой кнопкой мыши и выберете пункт Evaluate Selection. То же самое можете сделать, используя клавиатуру: клавишами со стрелками при нажатой <Shift> выделите первые четыре команды листинга 5.1 и выполните их из пункта Evaluate Selection меню Text или нажмите клавишу <F9>. Обратите внимание, что в графическое окно вывелся только один график, соответствующий выполненным командам. Выполните оставшиеся три команды листинга 5.1 и проследите за состоянием графического окна. Потренируйтесь самостоятельно, наберите какие-либо примеры из предыдущих глав в редакторе М-файлов и запустите их.

Другая возможность для выполнения фрагмента М-файла рассматривается далее в разд. "Разбиение М-файла на ячейки" этой главы.

Если в М-файле при наборе сделана ошибка, то она выявляется в процессе исполнения. MATLAB выполняет команды до неправильно введенной, после чего в командное окно выводится сообщение об ошибке. Создайте в редакторе новый файл mydemo2.m, например, при помощи кнопки New M-iile панели инструментов редактора, со следующими командами:

У = [12 3]

Z = у*у

х = у

Очевидно, что во второй строке допущена ошибка. Попытка выполнения такого файла приведет к выводу в командное окно следующего сообщения с гиперссылкой на место ошибки:

??? Error using --> mtimes

Inner matrix dimensions must agree.

Error in ==> myctemo2 at 2

z - y*y

Щелчок мыши по гиперссылке с именем М-файла делает окно редактора активным и помещает курсор в строку с ошибкой.



0 ... 70 71 72 73 74 75 76 ... 365