4

假设我有一个函数,其输出是两个实数 a 和 b

[a,b]=function(c)

我想在向量 v 中获得所有输出。 v=function(c) 没有做我想要的,v 只是'a'。当然在这里我可以做 v=[a,b]。但是有问题的函数是用于 ND 数组的 ind2sub ,因此它提供了我希望直接在向量中具有的 n 个输出。

有没有办法做到这一点?非常感谢!

4

1 回答 1

2

您可以使用单元格数组和逗号分隔的列表,如下所示:

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

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

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

v = [X{:}];
于 2013-06-05T15:29:17.003 回答