Файл-функции с одним входным аргументом
Предположим, что в вычислениях необходимо часто использовать функцию x2+1
Имеет смысл один раз написать файл-функцию, а потом вызывать его всюду, где необходимо вычисление этой функции. Откройте в редакторе М-файлов новый файл и наберите текст: function f=myfun(x) f=exp(-x).*sqrt((x.^2+1)./(x.^4+0.1));
Слово function в первой строке определяет что данный файл содержит файл-функцию. Первая строка является заголовком функции, в которой размещается имя функции и списки входных и выходных аргументов. В примере, приведенном в листенге 5.2, имя функции myfun, один входной аргумент х и один выходной – f. После заголовка следует тело функции (оно в данном примере состоит из одной троки), где и вычисляется ее значение. Важно, что вычисленное значение записывается не в f. Не забудьте поставить точку с запятой для предотвращения вывода лишней информации на экран.
Теперь сохраните файл в рабочем каталоге. Обратите внимание, что выбор пункта Save или Save as меню File приводит к появлению диалогового окна сохранения файла, в поле File name которого уже содержит название myfun. Не изменяйте его, сохраните файл-функцию в файле с предложенным именем!
Теперь созданную функцию можно использовать так же, как и встроенные sin, cos и другие, например из командной строки:
>> y=myfun(1.3) y= 0.2600
Вызов собственных функций может осуществляться из файл-программы и из другой файл-функции.
Предупреждение каталог, в котором содержатся файл-функции, должен быть текущим, или путь к нему должен быть добавлен в пути поиска, иначе MatLab не найдёт функцию, или вызовет вместо нее другую с тем же именем (если она находится в каталогах, доступных для поиска).
Аргументом функции myfun может быть как число, так и вектор или матрица значений, например:
>> x=[1.3 7.2] >> y=myfun(x) y= 0.2600 0.0001
Переменная y, в которую записывается результат вызова функции myfun автоматически становится вектором нужного размера.
Постройте график функции myfun на отрезке [0,4] из строки или при помощи файл-программы
x=[0:0.5:4]; y=myfun(x); plot(x,y)
MatLab предоставляет ещё одну возможность работы с файл-функциями – использование их в качестве аргументов некоторых команд. Например, для построения графика служит специальная функция fplot, заменяющая последовательность команд, приведенную выше. При вызове fplot имя функции график который требуется построить, заключается в апострофы, пределы построения указываются в вектор-строке из двух элементов
fplot(‘myfun’,[0,4])
Файл-функции с несколькими входными аргументами Написание файл-функций с несколькими входными аргументами практически не отличается от случая с одним аргументом. Все входные аргументы размещаются в списк через запятую. Например, ниже приведён листинг, содержащий файл-функцию, вычисляющую длину радиус-вектора точки трехмерного пространства Function r=radius3(x,y,z) r=sqrt(x.^2+y.^2+z.^2); Для вычисления длины радиус-вектора теперь можно использовать функциию radius3, например: >>R=radius3(1,1,1) R= 1.732
Кроме функций с несколькими аргументами, MatLab позволяет создавать функции, возвращающие несколько значений, т. е. имеющие несколько выходных аргументов. Файл-функции с несколькими выходными аргументами Файл-функции с несколькими выходными аргументами удобны при вычислении функций, возвращающих несколько значений. Выходные аргументы добавляются через запятую в список выходных аргументов, а сам список заключается в квадратные скобки. Примером является функция, переводящая время в секундах, в часы, минуты и секунды. Файл-функция перевода секунд в часы, минуты и секунды: function [hour,minute,second]=hms(sec) hour=floor(sec/360); minute=floor((sec-hour*3600)/60); second=sec-hour*3600-minute*60;
При вызове файл-функции с несколькими выходными аргументами результат следует записывать в вектор соответствующей длины:
>>[H,M,S]=hms(10000) H= M= S=
Если список выходных аргументов пуст, т. е. заголовок выглядит так function myfun(a,b) или function []=myfun(a,b), то файл-функция не будет возвращать никаких значений. Такие функции тоже иногда оказываются полезными.
Как правило, М-файлы хранятся в каталоге пользователя. Для того чтобы система MatLab могла найти их, следует установить пути, указывающие расположение М-файлов. Замечание Хранить собственные М-файлы вне основного каталога MatLab следует по двум причинам. Во-первых, при переустановке MatLab файлы, которые содержатся в подкаталогах основного каталога MatLab, могут быть уничтожены. Во-вторых, при запуске MatLab все файлы подкаталога toolbox размещаются в памяти компьютера некоторым оптимальным образом так, чтобы увеличить производительность работы. Если вы записали М-файл в этот каталог, то воспользоваться им можно будет только после перезапуска MatLab. Установка путей Текущий каталог определяется в диалоговом окне Curent Directory рабочей среды. Окно присутствует в рабочей среде, если выбран пункт Curent Directory меню View рабочеё среды. Текущий каталог выбирается из списка. Если его нет в списке, то его можно добавить из диалогового окна Browse for Folder, вызываемого нажатием на кнопку, расположенную справа от списка. Содержимое каталога отображается в таблице файлов. Определение путей поиска производится в диалоговом окне Set Path навигатора путей, доступ к которому осуществляется из пункта Set Path меню File рабочей среды. Для добавления каталога нажмите кнопку 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 можно восстановить стандартные установки, а Revert предназначена для возврата к сохраненным.
Популярное: Почему человек чувствует себя несчастным?: Для начала определим, что такое несчастье. Несчастьем мы будем считать психологическое состояние... Как построить свою речь (словесное оформление):
При подготовке публичного выступления перед оратором возникает вопрос, как лучше словесно оформить свою... Почему люди поддаются рекламе?: Только не надо искать ответы в качестве или количестве рекламы... ![]() ©2015-2024 megaobuchalka.ru Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. (806)
|
Почему 1285321 студент выбрали МегаОбучалку... Система поиска информации Мобильная версия сайта Удобная навигация Нет шокирующей рекламы |