我在Mathematica需要一些帮助。 我正在尝试绘制存储在列表中的函数,如:
list = {{3x,1,5},{2x ^ 2,0,4}}
我需要输出类似于输入的输出:
显示[剧情[3倍,{X,1,5}],剧情[2倍^ 2,{X,0,4}]]
但我不确定这是如何实现的?
提前致谢
答案 0 :(得分:6)
在许多可能的方法中,这可能是一个神秘而简洁的单行,然后是解释:
Show[Plot[#, {x, ##2}] & @@@ list]
首先,#
是Slot
的运算符形式,##
是SlotSequence
的运算符形式,f @@@ expr
是{Apply[f,expr,{1}]]
的运算符形式1}},所以这可以更详细地表达为:
Show[Apply[Plot[#, {x, ##2}] &, list, {1}]]
因此,对于list
的每个子列表,元素作为参数传递给纯函数。在纯函数中,#是第一个参数(第一个子元素,例如函数,3x
),##2
是其余参数(从第二个参数开始为{{1} },例如Sequence
)。对于第一个元素,评估的命令将是Sequence[0, 4]
。
如果上述内容过于神秘,您可以随时定义一个函数并使用Plot[3x, {x,0,4}]
:
Map
希望有所帮助!