1

除了创建更大的数组之外,还有什么简单的方法可以将函数 Foo 应用于多个数组(矩阵)A、B、C?

本质上,我想要类似于 Python 中的“地图”的东西,例如:

L = [A, B, C]
地图(富,L)

让我们假设以下情况: 1. 函数 Foo 是按组件应用的,不会改变矩阵的维度,例如 log()、exp()。2.函数是一个通用函数,作用于整个矩阵,例如removerows()。

4

2 回答 2

1

默认情况下,MATLAB 中没有内置的“map”模拟。但是,您始终可以自己编写功能;在这里已经完成了。放入您的 MATLAB bin 中,您应该可以开始使用了。

如果您希望您的代码可以跨系统移植,我建议您使用简单的循环。

于 2013-03-02T16:28:14.677 回答
0

您可以使用vararginandvarargout创建一个函数,该函数接受任意数量的输入并产生任意数量的输出。

那么你就可以写:

[D, E, F] = map(foo, A, B, C);
于 2013-03-02T16:22:12.057 回答