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

标签 matlab function vector output

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

[a,b]=function(c)

我想获得向量 v 中的所有输出。 v=function(c) 不做我想做的事,v 只是 'a'。 当然在这里我可以做 v=[a,b]。 但是所讨论的函数是 N 维数组的 ind2sub,因此它给出了我希望直接在向量中拥有的 n 个输出。

有办法吗? 非常感谢!

最佳答案

您可以使用元胞数组和 a comma-separated list像这样:

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

语法 X{:} 实际上被扩展为 [X{1}, X{2}, ...],它为你的功能。因此,每个输出变量将存储在 X 中的不同单元格中。

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

v = [X{:}];

关于matlab - 如何在向量中获取函数的多个输出?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16943871/

相关文章:

matlab - 在 MATLAB 中绘图时循环颜色

python - 如何将函数定义作为字符串传递给 python 脚本

actionscript-3 - 在 AS3 中在运行时(反射)检查匿名函数签名

C++ vector 指针问题/指向 vector 中对象的指针的 vector

初始化后具有固定容量的 C++ vector

java - 仅使用距离和方位查找位置?

matlab - 无法更改 Matlab 子图中的 xtick 字体大小

解决分配或与约束匹配的算法

java - 为什么这个java优雅的配对方法没有给出正确的结果?

std::vector<std::array<char, 2>> 的 C++ 数据连续性