如何将值映射到 Mathematica 中的函数列表?
How to map a value over a list of functions in mathematica?
免责声明:我是 Mathematica 新手
我知道我可以使用 Map 将函数映射到数据列表,但是有没有办法 "Map" 将值映射到函数列表?
例如说我有 3 个函数:
f2[x_]:=x^2
f3[x_]:=x^3
f4[x_]:=x^4
funcList={f2,f3,f4}
现在,如果我想创建一个新列表,在该列表上映射一个值以创建一个新列表?就像我要使用值二一样,我会得到:
MapValue[2,funcList]
{4,8,16}
您可以编写一个调用另一个函数的函数:
call[g_] := g[2]
Map[call, funcList]
(* {4, 8, 16} *)
这可以使用 pure function 语法简化:
#[2]& /@ funcList
(* ^~~~~ ^~
| short-form of Map
|
~~ same as the `call` above
*)
您可以使用 Through
.
f2[x_] := x^2
f3[x_] := x^3
f4[x_] := x^4
funcList = {f2, f3, f4};
Through[funcList[2]]
{4, 8, 16}
免责声明:我是 Mathematica 新手
我知道我可以使用 Map 将函数映射到数据列表,但是有没有办法 "Map" 将值映射到函数列表?
例如说我有 3 个函数:
f2[x_]:=x^2
f3[x_]:=x^3
f4[x_]:=x^4
funcList={f2,f3,f4}
现在,如果我想创建一个新列表,在该列表上映射一个值以创建一个新列表?就像我要使用值二一样,我会得到:
MapValue[2,funcList]
{4,8,16}
您可以编写一个调用另一个函数的函数:
call[g_] := g[2]
Map[call, funcList]
(* {4, 8, 16} *)
这可以使用 pure function 语法简化:
#[2]& /@ funcList
(* ^~~~~ ^~
| short-form of Map
|
~~ same as the `call` above
*)
您可以使用 Through
.
f2[x_] := x^2
f3[x_] := x^3
f4[x_] := x^4
funcList = {f2, f3, f4};
Through[funcList[2]]
{4, 8, 16}