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

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

[a,b]=function(c)

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

有办法吗?
非常感谢!

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

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

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

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

v = [X{:}];
点赞