在Matlab中将函数应用于多个数组

时间:2013-03-02 16:18:58

标签: matlab

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

基本上我想在Python中使用类似于“map”的东西,比如:

L = [A, B, C]
map(foo, L)

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

2 个答案:

答案 0 :(得分:1)

默认情况下,MATLAB中没有内置模拟'map'。但是,您总是可以自己编写功能;已完成here。放入你的MATLAB bin,你应该准备好了。

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

答案 1 :(得分:0)

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

那么你就可以写:

[D, E, F] = map(foo, A, B, C);