我正在使用Octave,并且想对一个函数进行矢量化处理,该函数接受单个实数作为输入并输出固定长度的行向量。我了解arrayfun应该能够从其不清楚的文档中做到这一点。在Octave 3.2中的help arrayfun中:



看来Matlab's version is more forgiving:



看起来这在Matlab中有效,但在Octave中无效。我是否可以在Octave中使用arrayfun进行这种概括?是否有一些更聪明的方法可以实现这一目标而不求助于未向量化的循环?

供引用,这是我的 Octave 结果:

最佳答案

使用arrayfun将函数nums应用到数组[1,2,3]

CellArray = arrayfun(nums, [1,2,3], "UniformOutput", false);

那给了你一个单元格数组。如果要以矩阵形式回答,请使用cell2mat
cell2mat(CellArray);

如果您的实际nums更复杂,那么我们将需要一个更好的示例来提出解决方案。

关于matlab - 向量化功能,使用arrayfun输出一行,并返回一个矩阵,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/20500371/

10-10 14:07