当你有一个函数需要一个可变数量的参数(如ndgrid)时,如何将任意参数列表传递给该函数?如何将一组未知数量的参数传递给MATLAB中的函数?
比如我想让它这样,有时我通过两个向量来ndgrid,并得到了两个矩阵,即
[X1,X2] = ndgrid(x1,x2);
但其他时候,我可能有更多的X的,所以我想
[X1,X2,X3,X4] = ndgrid(x1,x2,x3,x4)
- 有什么样的结构,我可以用它来存储一个参数数目未知的列表,然后只给该列表的功能?而且,
- 有没有办法从函数中检索所有的输出,当你不知道会有多少?
一个快速和肮脏的方法是抽象的输入和输出一个电平(“尺寸”),并利用输入阵列和输出一个数组 - 也就是[X] = ndgrid(x)其中X和x是单元格数组或其他东西,每个元素都有一个实际的输入元素 –
然而,我不够精通, varargs'类型的功能(我确信它可以编译为C) –
哦,它非常简单:http://www.mathworks.com/help/matlab/ref/varargin.html –