MATLAB ヘルプ センター
線形方程式の行列形式への変換
[A,b] = equationsToMatrix(eqns)
[A,b] = equationsToMatrix(eqns,vars)
A = equationsToMatrix(___)
[A,b] = equationsToMatrix(eqns) は方程式 eqns を行列形式に変換します。eqns は、symvar によって eqns 内で検出されるすべての変数の連立線形方程式でなければなりません。
A
b
eqns
symvar
例
[A,b] = equationsToMatrix(eqns,vars) は eqns を行列形式に変換します。ここで、eqns は vars 内で線形でなければなりません。
vars
A = equationsToMatrix(___) は連立方程式の係数行列のみを返します。
すべて折りたたむ
連立線形方程式を行列形式に変換します。equationsToMatrix は、symvar を使用して方程式内で変数を自動検出します。返された係数行列は symvar で決定された変数の順番に従います。
equationsToMatrix
syms x y z eqns = [x+y-2*z == 0, x+y+z == 1, 2*y-z == -5]; [A,b] = equationsToMatrix(eqns)
A = (11-211102-1)
(11-211102-1)
b = (01-5)
(01-5)
vars = symvar(eqns)
vars = (xyz)
その他の変数の順番を指定することにより、係数行列の配置を変更できます。
vars = [x,z,y]; [A,b] = equationsToMatrix(eqns,vars)
A = (1-211110-12)
(1-211110-12)
連立線形方程式を、独立変数を指定して行列形式に変換します。これは、方程式が一部の変数でのみ線形である場合に役立ちます。
この方程式に対しては、方程式が r では線形でないため、変数を [s t] として指定します。
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 = (1-23-1)
(1-23-1)
b = (-r2-110)
(-r2-110)
単一の出力引数を指定して、方程式の係数行列のみ返します。
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)
時間の関数である次の連立線形方程式を考えます。
2x(t)+y(t)+z(t)=2u(t)-x(t)+y(t)-z(t)=v(t)x(t)+2y(t)+3z(t)=-10
連立方程式を宣言します。
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) = (2 x(t)+y(t)+z(t)=2 u(t)y(t)-x(t)-z(t)=v(t)x(t)+2 y(t)+3 z(t)=-10)
(2 x(t)+y(t)+z(t)=2 u(t)y(t)-x(t)-z(t)=v(t)x(t)+2 y(t)+3 z(t)=-10)
方程式の独立変数 x(t)、y(t)、および z(t) をシンボリック ベクトル vars として指定します。関数 equationsToMatrix を使用して連立方程式を行列形式に変換します。
vars = [x(t); y(t); z(t)]; [A,b] = equationsToMatrix(eqn,vars)
A = (211-11-1123)
(211-11-1123)
b = (2 u(t)v(t)-10)
(2 u(t)v(t)-10)
関数 linsolve を使用して、方程式の行列形式を解きます。
linsolve
X = linsolve(A,b)
X = (10 u(t)9-v(t)9+2094 u(t)9+5 v(t)9-109-2 u(t)3-v(t)3-103)
(10 u(t)9-v(t)9+2094 u(t)9+5 v(t)9-109-2 u(t)3-v(t)3-103)
関数 u(t)=cos(t) および v(t)=sin(2t) の z(t) 解を評価します。z(t) 解をプロットします。
zSol = subs(X(3),[u(t) v(t)],[cos(t) sin(2*t)])
zSol = -sin(2 t)3-2 cos(t)3-103
-sin(2 t)3-2 cos(t)3-103
fplot(zSol)
線形方程式。シンボリックな方程式または式のベクトルとして指定します。シンボリック方程式は、x + y == 1 のように、== 演算子により定義されます。シンボリック式の場合、equationsToMatrix は右辺が 0 であると仮定します。
x + y == 1
==
方程式は vars の線形方程式でなければなりません。
eqns 内の独立変数。シンボリック変数またはシンボリック関数のベクトルとして指定します。
連立線形方程式の係数行列。シンボリック行列として指定します。
方程式の右辺を含むベクトル。シンボリック行列として指定します。
連立線形方程式
a11x1+a12x2+…+a1nxn=b1a21x1+a22x2+…+a2nxn=b2⋯am1x1+am2x2+…+amnxn=bm
は、行列方程式 A⋅x→=b→ として表すことができます。ここで、A は係数行列です。
A=(a11…a1n⋮⋱⋮am1⋯amn)
b→ は、方程式の右辺を含むベクトルです。
b→=(b1⋮bm)
R2012b で導入
linsolve | odeToVectorField | solve | symvar
odeToVectorField
solve
You clicked a link that corresponds to this MATLAB command:
Run the command by entering it in the MATLAB Command Window. Web browsers do not support MATLAB commands.
Web サイトの選択
Web サイトを選択すると、翻訳されたコンテンツにアクセスし、地域のイベントやサービスを確認できます。現在の位置情報に基づき、次のサイトの選択を推奨します:
また、以下のリストから Web サイトを選択することもできます。
最適なサイトパフォーマンスの取得方法
中国のサイト (中国語または英語) を選択することで、最適なサイトパフォーマンスが得られます。その他の国の MathWorks のサイトは、お客様の地域からのアクセスが最適化されていません。
南北アメリカ
ヨーロッパ
アジア太平洋地域
最寄りの営業オフィスへのお問い合わせ