- Справка Scilab
- Функции
- Встроенные и внешние
- Libraries
- profiling
- argn
- bytecode
- code2str
- comp
- deff
- edit
- exec
- execstr
- fun2string
- funcprot
- function
- функции
- getd
- head_comments
- listfunctions
- macr2lst
- macr2tree
- макрос
- macrovar
- mode
- перегрузка
- sciargs
- str2code
- tree2code
- varargin
- varargout
- bytecodewalk
- recompilefunction
Please note that the recommended version of Scilab is 2025.0.0. This page might be outdated.
See the recommended documentation of this function
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'])
Смотрите также
Report an issue | ||
<< comp | Функции | edit >> |