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