Мегаобучалка Главная | О нас | Обратная связь


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



2015-12-04 783 Обсуждений (0)
Файл-функции с одним входным аргументом 0.00 из 5.00 0 оценок




Предположим, что в вычислениях необходимо часто использовать функцию 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-12-04 783 Обсуждений (0)
Файл-функции с одним входным аргументом 0.00 из 5.00 0 оценок









Обсуждение в статье: Файл-функции с одним входным аргументом

Обсуждений еще не было, будьте первым... ↓↓↓

Отправить сообщение

Популярное:
Модели организации как закрытой, открытой, частично открытой системы: Закрытая система имеет жесткие фиксированные границы, ее действия относительно независимы...
Генезис конфликтологии как науки в древней Греции: Для уяснения предыстории конфликтологии существенное значение имеет обращение к античной...



©2015-2024 megaobuchalka.ru Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. (783)

Почему 1285321 студент выбрали МегаОбучалку...

Система поиска информации

Мобильная версия сайта

Удобная навигация

Нет шокирующей рекламы



(0.007 сек.)