Function 如何让多变量函数处理向量

Function 如何让多变量函数处理向量,function,vector,scilab,Function,Vector,Scilab,我在处理scilab函数时遇到问题;我有一个1x6向量形式的输出,我想有一个简单的方法使它与一个6变量函数一起工作 v = [1,2,3,4,5,6] ; function z=f(a,b,c,d,e,f) ... endfunction f(v) //returns error 谢谢Scilab没有直接类似于Python的fcn(*v)函数调用,它会将v的条目解释为多个参数 如果您希望能够以fcn(1,2,3,4,5,6)或v=1:6的形式调用函数;fcn(v),则需要将此子句添加到其开头:

我在处理scilab函数时遇到问题;我有一个1x6向量形式的输出,我想有一个简单的方法使它与一个6变量函数一起工作

v = [1,2,3,4,5,6] ;
function z=f(a,b,c,d,e,f)
...
endfunction
f(v) //returns error

谢谢

Scilab没有直接类似于Python的
fcn(*v)
函数调用,它会将v的条目解释为多个参数

如果您希望能够以
fcn(1,2,3,4,5,6)
v=1:6的形式调用函数;fcn(v)
,则需要将此子句添加到其开头:

function z=fcn(a,b,c,d,e,f)
    if argn(2)==1 then
        [a,b,c,d,e,f] = (a(1),a(2),a(3),a(4),a(5),a(6))
    end
// rest of function
z = a+b+c+d+e+f
endfunction
现在
v=1:6;fcn(v)
返回21,就像
fcn(1,2,3,4,5,6)
一样

条件
argn(2)=1
检查函数是否接收到一个参数而不是预期的6;如果是这种情况,它假定它是一个向量。如果该向量没有足够的元素(6)用于元组赋值,则抛出错误