Лекция: Вопрос №4
Функции – это имеющие уникальные имена подпрограммы, выполняющие определенные преобразования над своими аргументами и при этом возвращающие результаты этих преобразований.
Функции (макросы) в Scilab похожи на те, что встречаются в других языках программирования. Функции могут иметь аргумент, сами являться аргументом другой функции, быть членом списка, участвовать в операциях сравнения, вызываться рекурсивно. Функция начинается со слова function и заканчивается словом endfunction.
Первая строка функции может быть следующей:
function var=my_name(x1,...,xk),
где var — имя переменной, а xi — входные переменные.
Ниже приведен пример функции, вычисляющей сумму положительных элементов в массиве v.
function g=f(v)
s=0; n=length(v);
for i=1:n
if v(i)>0 then
s=s+v(i);
end
end
g=s;
endfunction
Для использования этой функции ее нужно сначала сохранить на диске в файле с именем f.sci,выполнить пункт меню Execute/Load into Scilab, а затем вызвать ее:
--> x=[1 2 5 -3 7 -9 12]; t=f(x)
t =
27
Если функция должна возвращать несколько значений, то ее надо определить в формате:
function[y1, y2, …] = func(x1,x2,…)
Тело функции
Endfunction
Здесь y1, y2, … – список выходных аргументов, x1, x2, … – список входных аргументов, func – имя функции.