Mathematicaで助けが必要です。次のようなリストに格納されている関数をプロットしようとしています。
リスト={{3x、1,5}、{2x ^2,0,4}}
入力した場合と同様の出力を取得する必要があります。
Show [Plot [3x、{x、1,5}]、Plot [2x ^ 2、{x、0,4}]]
しかし、これがどのように達成されるのかよくわかりませんか?
前もって感謝します
Mathematicaで助けが必要です。次のようなリストに格納されている関数をプロットしようとしています。
リスト={{3x、1,5}、{2x ^2,0,4}}
入力した場合と同様の出力を取得する必要があります。
Show [Plot [3x、{x、1,5}]、Plot [2x ^ 2、{x、0,4}]]
しかし、これがどのように達成されるのかよくわかりませんか?
前もって感謝します
これを行うために考えられる多くの方法のうち、おそらく不可解で簡潔なワンライナーとそれに続く説明があります。
Show[Plot[#, {x, ##2}] & @@@ list]
まず、#
は の演算子形式でSlot
あり、##
は の演算子形式でありSlotSequence
、f @@@ expr
は の中置演算子であるためApply[f,expr,{1}]]
、これはより詳細に次のように表現できます。
Show[Apply[Plot[#, {x, ##2}] &, list, {1}]]
したがって、あなたのサブリストごとlist
に、要素が引数として純粋な関数に渡されます。純粋な関数では、 # は最初の引数 (関数の最初のサブ要素3x
) であり、残りの引数です (2 番目の##2
引数は として始まります)。最初の要素の場合、評価されるコマンドは になります。Sequence
Sequence[0, 4]
Plot[3x, {x,0,4}]
上記が難解すぎる場合は、いつでも関数を定義して使用できますMap
。
plotter[{func_, interval__}] := Plot[func, {x, interval}]
Show[plotter /@ list]
それが役立つことを願っています!