連立線形方程式の求解
この例では、Symbolic Math Toolbox™ を使用して連立線形方程式を解く方法を説明します。
linsolve を使用した連立線形方程式の求解
連立線形方程式
は、行列方程式 として表すことができます。ここで、 は次の係数行列です。
また、 は、方程式の右辺を含むベクトルです。
連立線形方程式が AX = B の形式になっていない場合は、equationsToMatrix を使用して方程式をこの形式に変換します。以下の連立方程式を考えます。
連立方程式を定義します。
syms x y z eqn1 = 2*x + y + z == 2; eqn2 = -x + y - z == 3; eqn3 = x + 2*y + 3*z == -10;
equationsToMatrix を使用して方程式を AX = B の形式に変換します。equationsToMatrix への 2 番目の入力は方程式の独立変数を指定します。
[A,B] = equationsToMatrix([eqn1,eqn2,eqn3],[x,y,z])
A =
B =
linsolve を使用して AX = B を解き、不明な X のベクトルを求めます。
X = linsolve(A,B)
X =
X の結果から、方程式の解は 、、および です。
solve を使用した連立線形方程式の求解
方程式が係数の行列ではなく式の形式である場合は linsolve の代わりに solve を使用します。同様の連立線形方程式を考えます。
連立方程式を定義します。
syms x y z eqn1 = 2*x + y + z == 2; eqn2 = -x + y - z == 3; eqn3 = x + 2*y + 3*z == -10;
solve を使用して連立方程式を解きます。solve への入力は方程式のベクトルと、方程式から求める変数のベクトルです。
sol = solve([eqn1,eqn2,eqn3],[x,y,z]);
solve は解を構造体配列で返します。解にアクセスするには配列のインデックスを指定します。
xSol = sol.x
xSol =
ySol = sol.y
ySol =
zSol = sol.z
zSol =