如何在向量中获得函数的多个输出?

时间:2013-06-05 15:26:13

标签: matlab function vector output

假设我有一个输出为两个实数a和b

的函数
[a,b]=function(c)

我想在矢量v中获得所有输出。 v =函数(c)没有做我想要的,v只是'a'。 当然,我可以做v = [a,b]。 但是这个函数是一个N-D数组的ind2sub,所以它给出了我想直接在向量中得到的n个输出。

有办法吗? 非常感谢!

1 个答案:

答案 0 :(得分:2)

您可以使用单元格数组a comma-separated list,如下所示:

X = cell(N, 1);
[X{:}] = function(C);

语法X{:}实际上已扩展为[X{1}, X{2}, ...],它为您的函数提供了有效的接收器。因此,每个输出变量将存储在X中的不同单元格中。

如果每个输出变量都是标量,则可以使用另一个以逗号分隔的列表扩展将单元格数组展平为向量:

v = [X{:}];