Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Laboratorna_robota_2_osin.doc
Скачиваний:
0
Добавлен:
01.03.2025
Размер:
177.15 Кб
Скачать

Работа в редакторе м-файлов

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

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

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

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

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

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

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

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

Разбиение м-файла на ячейки

Вернемся теперь к файл-программам и обсудим удобное средство выполнения отдельных их частей. Один из способов — выделение фрагмента кода и его выполнение при помощи <F9> — был рассмотрен выше. Кроме этого, редактор М-файлов позволяет разбить всю программу на ячейки и выполнять их независимо. Текст разбивается на ячейки при помощи строк комментариев, начинающихся с двух идущих подряд знаков процента (%%).

Для использования средств редактора при работе с ячейками кода следует установить режим Cell Mode, выбрав в меню Cell пункт Enable Cell Mode. При этом становятся доступными другие пункты этого меню, а выбранный изменится на Disable Cell Mode для отмены режима. Кроме того, появляется панель инструментов для работы с ячейками. Для оформления файла можно использовать следующие пункты меню Cell:

Insert Cell Divider — вставка разделителя ячеек из двух символов процента (%%). Если курсор находится не в первой позиции строки, то разделитель вставляется за текущей строкой, иначе перед ней;

Insert Cell Divider around Selection— вставка разделителей ячеек (%%) до и после выделенного фрагмента (строки предварительно должны быть выделены);

Insert Text Markup — раскрывающийся пункт меню для вставки строк образцов комментариев в место, где расположен курсор.

Способ исполнения ячеек файла также определяется в меню Cell:

Evaluate Current Cell— выполняются строки текущей ячейки, и она остается текущей;

Evaluate Current Cell and Advance — выполняются строки текущей ячейки, и текущей становится следующая ячейка;

Evaluate Entire File — выполняется весь файл.

При выполнении файла требуется, чтобы переменные, используемые в командах и функциях, присутствовали в среде Workspace. Поэтому не рекомендуется исполнять ячейки файл-функций, т. к. имена аргументов при обращении к функции и имена параметров в тексте функции, как правило, не совпадают.

Выполнение ячеек М-файла в режиме Cell Mode происходит без предварительного сохранения его на диске, в отличие от запуска всего файла при помощи <F5>. Поэтому, если вы отлаживаете файл, не забудьте его сохранить, иначе внесенные изменения могут быть потеряны.

Перемещение по ячейкам вверх и вниз осуществляется выбором в меню Cell пунктов Previous Cell и Next Cell соответственно. Цвет фона ячейки определяется в настройках редактора в диалоговом окне Preferences. В нем следует выбрать пункт Display, установить флаг Show cell highlighting и выбрать цвет в раскрывающемся списке справа от флага.

Для освоения простейших принципов работы с М-файлами, разбитыми на ячейки, создайте новый файл и скопируйте туда текст из файла mydemo.m (см. листинг 5.1). Переместите курсор в конец строки plot (x,f) и в меню Cell выберите пункт Insert Cell Divider. После этой строки вставится строка из двух знаков процента %%, делящая файл на две ячейки. Выполните весь файл, используя пункт Evaluate Entire File или соответствующую кнопку на панели инструментов. Измените функцию ехр(-х) на log(1 + x) и выполните содержащийся в первой ячейке код, выбрав пункт Evaluate Current Cell. Вид первого графика изменится. Аналогичным образом можно вывести график другой функции на другие оси, выполнив вторую ячейку. Не закрывайте графическое окно, потому что мы сейчас рассмотрим еще один М-файл, разбитый на ячейки, — автоматически 'созданную файл-функцию, которая соответствует нашему графическому окну.

Перейдите в графическое окно и сгенерируйте код для его построения, выбрав в меню File пункт Generate M-File. В редакторе М-файлов создается новое окно с текстом файл-функции createfigure, приведенным в листинге

Листинг. Автоматически созданная функция для графического окна

MATLAB создает файл-функцию с выделением ячеек для каждого шага построения: создания графического окна, осей и графиков, вы можете изменить и дополнить текст этой файл-функции по своему усмотрению. Файл-функция зависит от трех аргументов x1, yl и у2, являющихся формальными параметрами, которые не определены в рабочей среде Workspace. Можно, например, удалить заголовок, превратив файл-функцию в файл-программу, и заменить формальные переменные x1, yl и у2 на переменные рабочей среды х, f и g соответственно. Последовательное выполнение ячеек полученной файл-программы продемонстрирует все шаги для создания графического окна с графиками нужной функции. В качестве упражнения добавьте в нужные ячейки команды для вывода заголовков к графикам.

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

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

y = [1 2 3]

z = у*у

х = у

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

??? Error using ==> mtimes

Inner matrix dimensions must agree.

Error in ==> mydemo2 at 2

z - y*y

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

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

Отдельные блоки М-файла (особенно большого размера) целесообразно снабжать комментариями, которые пропускаются при выполнении, но удобны при работе с М-файлом. Комментарии в MATLAB начинаются со знака процента и автоматически выделяются зеленым цветом (по умолчанию), например:

%построение графика sin(x) в отдельном окне

Для исключения части исполняемого кода без его удаления или если количество строк комментариев достаточно велико, можно использовать блок комментариев, начинающийся со строки из двух символов % { (знака процента и открывающейся фигурной скобки) и заканчивающийся строкой из двух символов % } (закрывающейся фигурной скобки и знака процента).

Открытие существующего М-файла производится при помощи пункта Open... меню File рабочей среды либо редактора М-файлов. Открыть файл в редакторе можно и командой edit из командной строки, указав в качестве аргумента имя файла, например:

>> edit mydemo4

Команда edit без аргумента приводит к открытию редактора и созданию нового файла без имени (Untitled). Если вы ввели команду с именем несуществующего файла mydemo4:

>> edit mydemo4

то MATLAB воспримет это как желание создать новый М-файл с указанным именем. На экран будет выведено диалоговое окно с запросом: "File mydemo4.m does not exist. Do you want to create it?" (Файл не существует, хотите ли вы создать такой файл?). При выборе Yes файл будет создан и откроется в редакторе М-файлов.

В этом же окне имеется флаг Do not show this prompt again, установка которого отключит появление запроса на создание нового файла. В этом случае указание имени несуществующего файла в качестве параметра команды edit сразу приведет к его созданию. Вы можете восстановить появление этого запроса, обратившись к настройкам редактора. Для этого выберите в меню File рабочей среды или редактора М-файлов пункт Preferences. Появляется одноименное окно, в левом поле которого следует перейти к пункту Editor/Debugger и установить флаг Show dialog prompt when editing files that do not exist в правом поле.

В редакторе М-файлов может быть одновременно открыто несколько файлов. MATLAB позволяет менять способ отображения файлов в редакторе. По умолчанию окно Editor редактора только одно, и при открытии каждого нового файла оно снабжается закладкой внизу рабочей области с именем файла для быстрого перехода к окну с требуемым файлом или для его закрытия кнопкой на закладке. Последние пять кнопок на панели инструментов (см. рис. 5.1) дают возможность выбрать способ расположения окон с файлами в рабочей области редактора. Например, ее можно разделить по горизонтали или по вертикали для отображения двух файлов. Используя технику dock/undock, можно открыть каждый файл в своем окне редактора или, наоборот, встроить его в другое окно редактора. Для выполнения указанных операций в правой части строки меню присутствуют соответствующие инструменты Dock и Undock. Если окно редактора единственное, то использование Dock приводит к встраиванию окна редактора М-файлов в окно рабочей среды MATLAB, при этом кнопка Undock дополнительно появляется в заголовке окна редактора для получения обратного эффекта.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]