我有一个函数f[d_]
。我的意图是将这个函数作为一个整体应用到列表中。 说,,然后f[d]
给了我一个结果(一个数字或其他)。在此之前,一切都很清楚。Mathematica:将函数应用到列表中
现在可以说我有列出的以下列表:p={l1,l2,l3,...}
有没有更有效的方法比地图计算f[p]
,在该预期的结果{f[l1],f[l2],f[l3],...}
?
例如,使用Sin[x]
函数,将它映射到列表比将列表放入其参数中要慢得多。这似乎不适用于我的功能f[d]
和列表p。我该怎么做才能做到这一点?它会比Map更快吗?
为了让自己更清楚,说
f[d_]:=Total[d]
Then, f[{a1,a2,a3}] gives me a1+a2+a3, as expected.
But, f[{{a1, a2, a3}, {b1, b2, b3}, {c1, c2, c3, c4}}] kills the machine.
谢谢!
你需要像'总[{{a1,a2,a3},{b1,b2,b3},{c1,c2,c3,c4}},{2}]'? – tomd
尝试使用listable属性:'SetAttribbutes [f,Listable]' – agentp