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

Change language to:
English - Français - 日本語 - Português -

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

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

deff

определение функции во время выполнения программы

Последовательность вызова

deff('[s1, s2, ...] = newfunction(e1, e2, ...)',text [,opt])

Аргументы

e1, e2, ...

входные переменные.

s1, s2, ...

выходные переменные.

text

матрица символьных строк.

opt

необязательная символьная строка:

'c'

функция "скомпилирована" для большей производительности (по умолчанию);

'p'

функция "скомпилирована" и подготовлена к профилированию (см. справку profile);

'n'

функция не "скомпилирована".

Описание

Функция deff может быть использована для определения функций из ряда инструкций, написанных в текстовых строках. Полученный объект функции имеет те же свойства, что и любая другая функция, определённая в текстовом файле и загруженная с помощью функции exec.

Кавычки в инструкциях (разделяющие строки или означающие транспонирование матрицы) должны быть удвоены для правильной интерпретации (см. справку кавычки). Это может сделать написание несколько неудобным. Как вариант, в таких случаях можно определять функции в файлах, как обычно, для загрузки их в Scilab с помощью функции exec (с опцией 'n') и можно использовать функцию sci2exp для получения распечатки соответствующих инструкций в функции deff.

Примеры

deff('[x]=myplus(y,z)','x=y+z')
deff('[x]=mymacro(y,z)',['a=3*y+1'; 'x=a*z+y'])

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

  • comp — компиляция scilab-функции
  • exec — исполнение файла-сценария
  • function — открывает определение функции
  • profile — Returns the profiling results of a function
  • кавычка — (') оператор транспонирования, разграничитель символьной строки
Report an issue
<< comp Функции edit >>

Copyright (c) 2022-2023 (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:
Thu Oct 02 14:01:18 CEST 2014