假设我有一个函数,其输出是两个实数 a 和 b
[a,b]=function(c)
我想在向量 v 中获得所有输出。 v=function(c) 没有做我想要的,v 只是'a'。当然在这里我可以做 v=[a,b]。但是有问题的函数是用于 ND 数组的 ind2sub ,因此它提供了我希望直接在向量中具有的 n 个输出。
有没有办法做到这一点?非常感谢!
您可以使用单元格数组和逗号分隔的列表,如下所示:
X = cell(N, 1);
[X{:}] = function(C);
语法X{:}
实际上扩展为[X{1}, X{2}, ...]
,它为您的函数提供了一个有效的接收器。因此,每个输出变量都将存储在 中的不同单元格中X
。
如果每个输出变量都是标量,则可以使用另一个逗号分隔的列表扩展将元胞数组展平为向量:
v = [X{:}];