Solve等の関数の出力を使う方法
Solve,FindInstance,NSolve,NDSolve等の関数は,規則のリストを返します.Wolfram言語では値をシンボルに関連付けるのに,規則が使われます.例えば,以下の出力について考えてみます.
roots = Solve[x^2 + 4 x - 1 == 0, x]
{{x -> -2 - Sqrt[5]}, {x -> -2 + Sqrt[5]}}
この出力は,規則のリストのリストです.それぞれのサブリストは x の可能な値を表します.最初の解を規則として見るためには,以下を実行してください.
roots[[1]]
{x -> -2 - Sqrt[5]}
シンボルはx
で,その値は- 2 - Sqrt[5]
です.ReplaceAllコマンド( /. )は,シンボルが現れるたびに,これを規則で指定された値に置き換えます.例えば,多項式x^2 + 4 x - 1
に含まれるx
をすべて,上の多項式の最初の根で置き換えたいとすると,次のように書くことができます.
x^2 + 4 x - 1 /. roots[[1]]
この結果の式はゼロに等しくなります.
多項式の2つ目の根をsecondRootと呼ばれる新しい変数に割り当てたい場合には,以下を評価します.
secondRoot = x /. roots[[2]]
規則の使い方の例と詳しい情報については,規則についてのチュートリアルをご覧ください.
関数によっては,規則の代りに値か関数を返す同等の「Value」関数(例えば,NDSolveValueの場合はNDSolveValue)を持つものもあります.
[English]