- Scilab Help
- Advanced functions
- Built-in & external
- Libraries
- profiling
- argn
- bytecode
- bytecodewalk
- code2str
- comp
- deff
- edit
- exec
- execstr
- fun2string
- funcprot
- function
- functions
- getd
- head_comments
- listfunctions
- macr2lst
- macr2tree
- macro
- macrovar
- mode
- overloading
- recompilefunction
- sciargs
- str2code
- tree2code
- varargin
- varargout
Please note that the recommended version of Scilab is 2025.0.0. This page might be outdated.
See the recommended documentation of this function
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 wordvarargin
(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 wordvarargout
(see varargout)the sequence
[]
, if the function has no output 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
exec
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 or a semicolon is
added at its end.
Note that <function_name> must respect some syntax rules (see names). |
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) //an 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 a script file (see exec) exec SCI/modules/elementary_functions/macros/asinh.sci;
See Also
Report an issue | ||
<< funcprot | Advanced functions | functions >> |