連立方程式

Solveを使い連立方程式が解ける.方程式はリスト形式で与える.Solveは,非常に多くの連立多項方程式について明示的な解を見出すことができる.

未知数を2つ持つ簡単な線形連立方程式を解いてみる.
In[1]:=
Click for copyable input
Out[1]=
もっと複雑な式を解いてみる.得られる解は複数あり,リスト形式で出力される.それぞれの解は,変数についての変換規則として与えられる.
In[2]:=
Click for copyable input
Out[2]=
解のリストに置換記号を使うこともできる.
In[3]:=
Click for copyable input
Out[3]=
Solveで明示的な解が求まらないときでも,多くの場合,連立方程式を「ほどく」ことは可能であり,Rootを使いシンボル的に解を表せる.
In[4]:=
Click for copyable input
Out[4]=
Nを適用し,数値近似的な解を得る.
In[5]:=
Click for copyable input
Out[5]=

Solveの対象にする式の指定で,使う変数は単一の代数記号である必要はない.例えば,連立方程式をたくさん設けるとき,便宜のため,のような変数を使ってもよい.

a[i]を変数とした方程式を3つ作っておく.
In[6]:=
Click for copyable input
Out[6]=
a[i]のうちのいくつかを未知数として,この連立方程式を解かせる.
In[7]:=
Click for copyable input
Out[7]=
Solve[eqns,{x1,x2,...}]オブジェクト について,連立方程式 eqns を解く
Solve[eqns]連立方程式の持つすべてのオブジェクトについて eqns を解く

連立方程式の解法

何について解くのかSolveに指定しないと,方程式に含まれるすべての変数について解法が試される.
In[8]:=
Click for copyable input
Out[8]=
Solve[{lhs1==rhs1,lhs2==rhs2,...},vars]
Solve[lhs1==rhs1&&lhs2==rhs2&&...,vars]
Solve[{lhs1,lhs2,...}=={rhs1,rhs2,...},vars]

Solveへの連立方程式の与え方

行列とベクトルで連立方程式を構成したければ,リスト形式を使う.
In[9]:=
Click for copyable input
Out[9]=
Solveはリストで表現された方程式を解のリスト,つまり等式のリストで返す.
In[10]:=
Click for copyable input
Out[10]=
LogicalExpandを使い,リストで表現された方程式を明示的な方程式のリストに変換できる.
In[11]:=
Click for copyable input
Out[11]=

計算の種類によっては明示的な式の代りに係数の配列を使うとよいことがある.そのような配列はCoefficientArraysを使って方程式から構築できる.

New to Mathematica? Find your learning path »
Have a question? Ask support »