How to | 規則の解を使う方法
Wolfram言語の関数の多くは,規則の形で解を返すので,ユーザは自分の結果を探究したり解釈したりするためにこれらの規則を使えなくてはならない.このような解を使う方法の多くは,解こうとしている問題の種類に特有のものではあるものの,ユーザはリストから規則の解を取り出し,それを式に適用するという2つの基本的な作業を絶えず行うことになる.
s = Solve[x + 3 == 5, x]この方程式の解は,ネストしたリストに入っている.これはリストのリストである.Wolfram言語におけるリストは{}で表す.リスト中の項目は要素と呼ばれ,その位置で参照することができる.
解を使うためには,まずネストしたリストからそれを取り出す必要がある.[[ ]](Partの簡略形)をネストしたリストにおける解の位置と一緒に使う.ここでは解はネストしたリストの最初の(そして唯一の)要素である:
s[[1]]今度は「/.」(ReplaceAllの簡略形)を使って方程式
に解を代入することができる:
x + 4 /. s[[1]]線形方程式系を解くと,解の集合が1つのサブリストで返される.
eqns = {x + 3 == 4, y - 5 == 2, 3z == 4}方程式を解く.1つの一意解の集合を含むネストしたリストが返される:
u = Solve[eqns, {x, y, z}]解の集合を含む内側のリストは,ネストしたリストの最初の(そして唯一の)要素である.したがって、ネストしたリストに[[1]]を使うと,解のリストが返される:
u[[1]]x + y + z /. u[[1]]内側のリストにおける解の位置を構文に含むことによって,解の集合の部分を得ることができる.
u[[1, 1]]x + y + z /. u[[1, 1]]x + y + z /. {u[[1, 2]], u[[1, 3]]}eqn = x ^ 2 + 2a x + 1 == 0;sol = Solve[eqn, x]sub = eqn /. sol代入の結果は,TrueあるいはFalseではなく,方程式の形であることに注意する.
Simplifyを使って,代入が方程式を満足するかどうかを判断する.それぞれの代入がTrueと評価され,解が方程式を満足することを示す:
Simplify[sub]以下は,代入することによって,パラメータaの関数として解をプロットする方法である:
Plot[x /. sol, {a, -5, 5}]Plot[x /. sol[[1]], {a, -5, 5}]