Главная | Обратная связь | Поможем написать вашу работу!
МегаЛекции

Листинг 1. Создание двух графикой в одном окне




х = [0:0.1:7];

f = ехр(-х);

subplot(1, 2, 1)

plot(x, f)

g = sin(x);

subplot(1, 2, 2)

plot(x, g)

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

Замечание

Если при наборе сделана ошибка и MatLab не может распознать команду, то происходит выполнение команд до неправильно введенной, после чего выводится сообщение об ошибке в командное окно. Команды MatLab файл-программы осуществляют вывод в командное окно. Для подавления вывода следует завершать команды точкой с запятой.

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

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

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

В редакторе М-файлов может быть одновременно открыто несколько файлов. Переход между файлами осуществляется при помощи закладок с именами файлов, расположенных внизу окна редактора.

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

>> edit mydemo

Команда edit без аргумента приводит к созданию нового файла.

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

2.8.2. Типы М-файлов

М-файлы в MatLab бывают двух типов; файл-программы (Script M-Files), содержащие последовательность команд, и файл-функции, (Function M-Files), в которых описываются функции, определяемые пользователем.

2.8.2.1. Файл-программы

Файл-программу (файл-процедуру) мы создали только что. Все переменные, объявленные в файл-программе, становятся доступными в рабочей среде после ее выполнения. Выполните в редакторе М-файлов файл-программу, приведенную в листинге 1, и наберите команду whos в командной строке для просмотра содержимого рабочей среды. В командном окне появится описание переменных:

 

Name Size Bytes Class

f 1x71 568 double array

g 1x71 568 double array

X 1x71 568 double array

Grand total is 213 elements using 1704 bytes

Переменные, определенные в одной файле-программе, можно использовать в других файл-программах и в командах, выполняемых из командной строки. Выполнение команд, содержащихся в файл-программе, осуществляется двумя способами:

1. Из редактора М-файлов так, как описано выше.

2. Из командной строки или другой файл-программы, при этом в качестве команды используется имя М-файла.

Применение второго способа намного удобнее, особенно, если созданная файл-программа будет неоднократно использоваться впоследствии. Фактически, созданный М-файл становится командой, которую понимает MatLab. Закройте все графические окна и наберите в командной строке mydemo, появляется графическое окно, соответствующее командам файл-программы mydemo.m. После ввода команды mydemo MatLab производит следующие действия.

1. Проверяет, является ли введенная команда именем какой-либо из переменных, определенных в рабочей среде. Если введена переменная, то выводится ее значение.

2. Если введена не переменная, то MatLab ищет введенную команду среди встроенных функций. Если команда оказывается встроенной функцией, то происходит ее выполнение.

3. Если введена не переменная и не встроенная функция, то MatLab начинает поиск М-файла с названием команды и расширением.m. Поиск начинается с текущего каталога (Current Directory), если М-файл в нем не найден, то MatLab просматривает каталоги, установленные в пути поиска (Path). Найденный М-файл выполняется в MatLab.

Если ни одно из вышеперечисленных действий не привело к успеху, то выводится сообщение в командное окно, например:

>> mydem

??? Undefined function or variable ‘mydem’.

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

Замечание

Хранить собственные М-файлы вне основного каталога MatLab следует по двум причинам. Во-первых, при переустановке MatLab файлы, которые содержатся в подкаталогах основного каталога MatLab, могут быть уничтожены. Во-вторых, при запуске MatLab все файлы подкаталога toolbox размещаются в памяти компьютера некоторым оптимальным образом так, чтобы увеличить производительность работы. Если вы записали М-файл в этот каталог, то воспользоваться им можно будет только после перезапуска MatLab.

2.8.2.2. Установка путей

В MatLab есть возможность определить текущий каталог и пути поиска. Установка этих свойств производится либо при помощи соответствующих диалоговых окон, либо командами из командной строки.

Текущий каталог определяется в диалоговом окне Current Directory рабочей среды, изображенном на рис. 6. Окно присутствует в рабочей среде, если выбран пункт Current Directory меню View рабочей среды.

Рис. 6. Диалоговое окно Current Directory MatLab 6.x

Текущий каталог выбирается из списка. Если его нет в списке, то его можно добавить из диалогового окна Browse for Folder, вызываемого нажатием на кнопку, расположенную справа от списка (). Содержимое текущего каталога отображается в таблице файлов.

Определение путей поиска производится в диалоговом окне Set Path навигатора путей, доступ к которому осуществляется из пункта Set Path меню File рабочей среды. Окно Set Path изображено на рис 7.

Рис. 7. Диалоговое окно Set Path MatLab 6.x

Для добавления каталога нажмите кнопку Add Folder и в появившемся диалоговом окне Browse for Path выберите требуемый каталог. Добавление каталога со всеми его подкаталогами осуществляется при нажатии на кнопку Add with Subfolders. Путь к добавленному каталогу появляется в поле MATLAB search path. Порядок поиска соответствует расположению путей в этом поле, первым просматривается каталог, путь к которому размещен вверху списка. Порядок поиска можно изменить или вообще удалить путь к какому-либо каталогу, для чего выделите каталог в поле MATLAB search path и определите его положение при помощи следующих кнопок:

§ Move to Top - поместить вверх списка;

§ Move Up - переместить вверх на одну позицию;

§ Remove - удалить из списка;

§ Move Down - переместить вниз на одну позицию;

§ Move to Bottom - поместить вниз списка.

После внесения изменений следует сохранить информацию о путях поиска, нажав кнопку Save. При помощи кнопки Default можно восстановить стандартные установки, a Revert предназначена для возврата к сохраненным.

2.8.2.3. Команды для установки путей

Действия по установке путей в MatLab 6.xдублируются командами, набираемыми в командной строке. Текущий каталог устанавливается командой cd, например cd c:\users\igor. Команда cd, вызванная без аргумента, выводит путь к текущему каталогу. Для установки путей служит команда path, вызываемая с двумя аргументами:

§ path(path, 'с:\users\igor')-добавляет каталог c:\users\igor с низким приоритетом поиска;

§ path('с:\users\igor',path)-добавляет каталог c:\usеrs\igor с высшим приоритетом поиска.

4. Использование команды path без аргументов приводит к отображению на экране списка путей поиска. Удалить путь из списка можно при помощи команды rmpath.

rmpath('с:\users\igor') удаляет путь к каталогу c:\users\igor из списка путей.

Предупреждение.

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

2.8.2.4. Файл-функции

Рассмотренные выше файл-программы являются последовательностью команд MatLab, они не имеют входных и выходных аргументов. Файл-функции, производят необходимые действия с входными аргументами и возвращают результат в выходных аргументах. Далее вам необходимо сделать несколько простых примеров, позволяющих понять работу с файл-функциями. Файл-функции, так же как и файл-процедуры, создаются в редакторе М-файлов.

2.8.2.5. Файл-функции с одним входным аргументом

Предположим, что в вычислениях часто необходимо использовать функцию

Имеет смысл один раз написать файл-функцию, а потом вызывать его всюду, где необходимо вычисление этой функции. Откройте в редакторе М-файлов новый файл и наберите текст листинга 2.

Поделиться:





Читайте также:





Воспользуйтесь поиском по сайту:



©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...