2011-01-21 86 views

回答

4

您可以先使用STRUCT2CELL將您的結構轉換爲單元陣列,然後使用它來生成多個輸入的列表。

S = struct('x1','something','x2','something else'); 
C = struct2cell(S); 
myfun(C{:}); 

注意,在其中在S的字段定義的順序是其中輸入被傳遞的順序。要檢查這些字段的順序是否正確,可以在S上運行fieldnames,它將返回一個單元格,其中的字段名稱對應於C中的值。

0

東西添加到喬納斯的回答:其實你可以省略結構,去正確的單元格,然後將其擴展成一個列表的函數的參數:

c = {125, 3}; 
nthroot(c{:})