このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。
equationsToMatrix
線形方程式の行列形式への変換
説明
例
線形方程式の行列形式への変換
線形方程式系を行列形式に変換します。equationsToMatrix
は、symvar
を使用して方程式内で変数を自動検出します。返された係数行列は symvar
で決定された変数の順番に従います。
syms x y z eqns = [x+y-2*z == 0, x+y+z == 1, 2*y-z == -5]; [A,b] = equationsToMatrix(eqns)
A =
b =
vars = symvar(eqns)
vars =
その他の変数の順番を指定することにより、係数行列の配置を変更できます。
vars = [x,z,y]; [A,b] = equationsToMatrix(eqns,vars)
A =
b =
方程式内の変数の指定
線形方程式系を、独立変数を指定して行列形式に変換します。これは、方程式が一部の変数でのみ線形である場合に役立ちます。
この系に対しては、系が r
では線形でないため、変数を [s t]
として指定します。
syms r s t eqns = [s-2*t+r^2 == -1 3*s-t == 10]; vars = [s t]; [A,b] = equationsToMatrix(eqns,vars)
A =
b =
方程式の係数行列のみを返す
単一の出力引数を指定して、方程式の係数行列のみ返します。
syms x y z eqns = [x+y-2*z == 0, x+y+z == 1, 2*y-z == -5]; vars = [x y z]; A = equationsToMatrix(eqns,vars)
A =
時間の関数である方程式系の求解
時間の関数である次の線形方程式系を考えます。
方程式系を宣言します。
syms x(t) y(t) z(t) u(t) v(t) eqn1 = 2*x + y + z == 2*u; eqn2 = -x + y - z == v; eqn3 = x + 2*y + 3*z == -10; eqn = [eqn1; eqn2; eqn3]
eqn(t) =
方程式の独立変数 、、および をシンボリック ベクトル vars
として指定します。関数 equationsToMatrix
を使用して方程式系を行列形式に変換します。
vars = [x(t); y(t); z(t)]; [A,b] = equationsToMatrix(eqn,vars)
A =
b =
関数 linsolve
を使用して、方程式の行列形式を解きます。
X = linsolve(A,b)
X =
関数 および の 解を評価します。 解をプロットします。
zSol = subs(X(3),[u(t) v(t)],[cos(t) sin(2*t)])
zSol =
fplot(zSol)
入力引数
出力引数
A
— 係数行列
シンボリック行列
線形方程式系の係数行列。シンボリック行列として指定します。
b
— 方程式の右辺
シンボリック行列
方程式の右辺を含むベクトル。シンボリック行列として指定します。
詳細
線形方程式系の行列表現
線形方程式系
は、行列方程式 として表すことができます。ここで、A は係数行列です。
は、方程式の右辺を含むベクトルです。
バージョン履歴
R2012b で導入
MATLAB コマンド
次の MATLAB コマンドに対応するリンクがクリックされました。
コマンドを MATLAB コマンド ウィンドウに入力して実行してください。Web ブラウザーは MATLAB コマンドをサポートしていません。
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list:
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)