2
我在處理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函數時遇到了問題;我有一個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)進行元組賦值,則會拋出錯誤。