Scilab Home page | Wiki | Bug tracker | Forge | Mailing list archives | ATOMS | File exchange
Please login or create an account
Change language to: English - Français - Português - 日本語

Please note that the recommended version of Scilab is 6.0.0. This page might be outdated.
See the recommended documentation of this function

Справка Scilab >> Функции > function

function

открывает определение функции

endfunction

закрывает определение функции

Описание

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;

Смотрите также

  • functions — Scilab-процедуры и Scilab-объекты
  • exec — исполнение файла-сценария
  • имена — синтаксис имён в Scilab
Scilab Enterprises
Copyright (c) 2011-2017 (Scilab Enterprises)
Copyright (c) 1989-2012 (INRIA)
Copyright (c) 1989-2007 (ENPC)
with contributors
Last updated:
Thu Oct 02 14:01:18 CEST 2014