I'm having trouble dealing with scilab functions ; I have an output in the form of a 1x6 vector, and I'd like to have a simple way to make it work with a 6 variable function.
v = [1,2,3,4,5,6] ;
function z=f(a,b,c,d,e,f)
...
endfunction
f(v) //returns error
Thank you
Scilab doesn't have a direct analogue of Python's
fcn(*v)
function call that would interpret the entries of v as multiple arguments.If you want to be able to call your function as either
fcn(1,2,3,4,5,6)
or asv = 1:6; fcn(v)
, then you'll need to add this clause to its beginning:Now
v=1:6; fcn(v)
returns 21, just likefcn(1,2,3,4,5,6)
does.The condition
argn(2)==1
checks if the function received one parameter instead of expected 6; if this is the case, it assumes it to be a vector. If that vector doesn't have enough elements (6) for the tuple assignment, an error is thrown.