Il costrutto function per funzioni e procedure

Nell'esempio seguente:
	function y=f(x)
	   y=x^2+3
	endfunction
con f si indica il nome della funzione, con x l'argomento e con y il valore. L'unica cosa che conta in questa definizione è il nome della funzione e l'espressione, o le espressioni, che ne forniscono il valore. Invece il nome utilizzato per l'argomento e il nome utilizzato per il valore sono del tutto fittizi. La definizione precedente è infatti equivalente alla seguente:
	function val=f(arg)
	   val=arg^2+3
	endfunction
La funzione definita può essere valutata in una qualunque espressione:
-->a=f(3)
 a  =
    12.
Il nome della funzione può essere scelto a piacimento.

Nel caso in cui la variabile x sia una n-pla, con f(x) si genera la n-pla dei valori di f in corrispondenza di ciascun elemento della n-pla x:

-->x=[1:5]
 x  =
    1.    2.    3.    4.    5.
-->f(x)
 ans  =
    4.    7.    12.    19.    28.
Se si vuole utilizzare una funzione in questo modo (applicandola ad una n-pla) occorre che le espressioni siano corrette anche nel caso di operazioni termine a termine, come nell'esempio seguente:
	function y=rec(x)
	   y=1 ./ x
	endfunction
-->rec(x)
 ans  =
    1.    0.5    0.3333333    0.25    0.2

Piccolo manuale Scilab
A cura di: Amabile Tatone e Elena Antonacci, Disat, Università dell'Aquila, 2006.
Corso: Laboratorio informatico per l'ingegneria civile, Facoltà di Ingegneria, Università dell'Aquila.