blob: 9ea2564649049df56e2e4108e52f64727e8ceba7 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
|
<?xml version="1.0" encoding="UTF-8"?>
<!--
* Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
* Copyright (C) ????-2008 - INRIA
*
* This file must be used under the terms of the CeCILL.
* This source file is licensed as described in the file COPYING, which
* you should have received as part of this distribution. The terms
* are also available at
* http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
*
-->
<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="en" xml:id="macro">
<refnamediv>
<refname>macro</refname>
<refpurpose>Scilab procedure and Scilab object</refpurpose>
</refnamediv>
<refsection>
<title>Description</title>
<para>
Macros are Scilab procedures ("macro", "function" and "procedure"
have the save meaning). Usually, they are defined
in files with an editor and loaded into Scilab by <function>exec</function> or through
a library.
</para>
<para>
They can also be defined on-line (see <link linkend="deff">deff</link>).
A file which contains a macro must begin as follows:
</para>
<programlisting role='no-scilab-exec'><![CDATA[
function [y1,...,yn]=foo(x1,...,xm)
]]></programlisting>
<para>
The <literal>yi</literal> are output variables calculated as functions of
input variables and variables existing in Scilab
when the macro is executed.
A macro can be compiled for faster execution. Collections
of macros can be collected in libraries.
Macros which begin with <literal>%</literal> sign (e.g. <literal>%foo</literal>) and whose
arguments are lists are used to perform specific
operations: for example, <code>z=%rmr(x,y)</code> is equivalent
to <code>z=x*y</code> when <varname>x</varname> and <varname>z</varname> are rationals
(i.e. <code>x=list('r',n,d,[])</code> with <varname>n</varname> and <varname>d</varname> polynomials).
</para>
</refsection>
<refsection role="see also">
<title>See Also</title>
<simplelist type="inline">
<member>
<link linkend="deff">deff</link>
</member>
<member>
<link linkend="exec">exec</link>
</member>
<member>
<link linkend="comp">comp</link>
</member>
<member>
<link linkend="lib">lib</link>
</member>
</simplelist>
</refsection>
</refentry>
|