我有一個函數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