Scilab Website | Contribute with GitLab | Mailing list archives | ATOMS toolboxes
Scilab Online Help
2024.1.0 - Русский


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 — script file execution
  • имена — синтаксис имён в Scilab

История

ВерсияОписание
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 >>

Copyright (c) 2022-2024 (Dassault Systèmes)
Copyright (c) 2017-2022 (ESI Group)
Copyright (c) 2011-2017 (Scilab Enterprises)
Copyright (c) 1989-2012 (INRIA)
Copyright (c) 1989-2007 (ENPC)
with contributors
Last updated:
Mon Jun 17 17:55:12 CEST 2024