如何让多变量函数与向量一起工作

How to have multiple variable function work with vectors

我在处理 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) returns 21,就像 fcn(1,2,3,4,5,6) 一样。

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