2015-06-20 82 views

回答

2

的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)進行元組賦值,則會拋出錯誤。

相關問題