function
открывает определение функции
endfunction
закрывает определение функции
Описание
Где:
- <имя_функции>
указывает имя функции
- <входные_аргументы>
указывает список входных аргументов. Он может быть
рядом имён переменных, разделённых запятой и заключённым в круглые скобки, например
(x1,...,xm)
. Последнее имя переменной может быть ключевым словомvarargin
(см. varargin);последовательностью
()
или ничего, если у функции нет входных аргументов.
- <выходные_аргументы>
указывает список выходных аргументов. Он может быть
рядом имён переменных, заключённым в квадратные скобки, например
[y1,...,yn]
. Последнее имя переменной может быть ключевым словомvarargout
(см. varargout);последовательностью
[]
, если у функции нет выходных аргументов. В этом случае синтаксис может быть таким:function <имя_функции><входные_аргументы>
- <операторы>
указывает набор Scilab-инструкций (операторов). Этот синтаксис можно использовать для определения функции (см. functions) как встраиваемую, либо в файле-сценарии (см. exec). Для совместимости со старыми версиями Scilab'а функции, определённые в файле-сценарии, содержащем только определения функций, могут быть "загружены" в Scilab используя функцию
exec
.
Последовательность function <выходные_аргументы>=<имя_функции><входные_аргументы>
нельзя разделять на несколько строк. После этой последовательности можно ставить в этой же строке операторы, если в конце добавить запятую или точку с запятой.
Заметьте, что <имя_функции> должно удовлетворять некоторым правилам синтаксиса (см. имена). |
Определения функций могут быть вложенными.
Примеры
//определение встраиваемой функции function [x, y]=myfct(a, b) x=a+b y=a-b endfunction [x,y]=myfct(3,2) //определение функции в одну строку function y=sq(x),y=x^2,endfunction sq(3) //определение вложенных функций function y=foo(x) a=sin(x) function y=sq(x), y=x^2,endfunction y=sq(a)+1 endfunction foo(%pi/3) // определение функции в файле-сценарии (см. exec) exec SCI/modules/elementary_functions/macros/asinh.sci;
Смотрите также
История
Версия | Описание |
6.0.0 | function and endfunction are now protected:
Assignments like function=1 or endfunction=2
are no longer possible. |
Report an issue | ||
<< funcprot | Функции | getd >> |