Scilab keyword
Last update : 14/2/2006
function - opens a function definition
endfunction - closes a function definition
Description
function <lhs_arguments>=<function_name><rhs_arguments>
<statements>
endfunction
Where
-
<function_name>stands for the name of the function
-
<rhs_arguments>stands for the input argument list. It may be
-
-a comma separated sequence of variable names enclosed in parenthesis, like
(x1,...,xm)
. Last variable name can be the key word
varargin
(see varargin)
-
-the sequence
()
or nothing,if the function has no input argument.
-
<lhs_arguments>stands for the output argument list. It may be
-
-a comma separated sequence of variable names enclosed in brackets, like
[y1,...,yn]
. Last variable name can be the key word
varargout
(see varargout)
-
-the sequence
[]
,if the function has no input argument. In this case the syntax may also be:
function <function_name><rhs_arguments>
-
<statements>stands for a set of scilab instructions (statements) This syntax may be used to define function (see functions) inline or in a script file (see exec). For compatibility with old Scilab versions, functions defined in a script file containing only function definitions can be "loaded" into Scilab using the
getf
function.
The
function <lhs_arguments>=<function_name><rhs_arguments>
sequence cannot be split over several lines. This sequence can be
followed by statements in the same line if a comma of semi column is
added at its end.
function definitions can be nested
Examples
//inline definition (see function)
function [x,y]=myfct(a,b)
x=a+b
y=a-b
endfunction
[x,y]=myfct(3,2)
//a one line function definition
function y=sq(x),y=x^2,endfunction
sq(3)
//nested functions definition
function y=foo(x)
a=sin(x)
function y=sq(x), y=x^2,endfunction
y=sq(a)+1
endfunction
foo(%pi/3)
// definition in an script file (see exec)
exec SCI/macros/elem/asinh.sci;
See Also
functions
,
exec
,
getf
,