在MATLAB中,如何方便地为函数提供许多参数?

Qia*_* Li 4 matlab arguments input function

我有一个MATLAB函数myfun(v1,v2,v3,v4,v5,v6)和一个30x6矩阵A.调用该函数的方法是将每列A作为单独的输入参数传递:

myfun(A(:,1),A(:,2),A(:,3),A(:,4),A(:,5),A(:,6))
Run Code Online (Sandbox Code Playgroud)

只是想知道是否有更好的方法来做这个没有明确写出这么多次A(:,*)

gno*_*ice 5

您可以A使用函数NUM2CELL首先将每列放入单元格数组的单元格中,然后使用以下语法将单元格数组内容作为逗号分隔列表传递{:}:

B = num2cell(A,1);
myfun(B{:});
Run Code Online (Sandbox Code Playgroud)