dsolve
微分方程式系の求解
文字ベクトルまたは string 入力に対するサポートは将来のリリースで削除される予定です。代わりに、syms
を使用して変数を宣言し、dsolve('Dy = -3*y')
などの入力を syms y(t); dsolve(diff(y,t) == -3*y)
で置き換えます。
説明
は、1 つ以上の S
= dsolve(___,Name,Value
)Name,Value
引数のペアによって指定された追加オプションを使用します。
例
入力引数
出力引数
ヒント
dsolve
で陽的な解または陰的な解を求めることができない場合は、警告を表示し、空のsym
を返します。この場合、MATLAB® 関数ode23
やode45
を使用して数値解を求めてください。出力は同等の低階微分方程式、または積分になる場合があります。'IgnoreAnalyticConstraints'
がfalse
の場合であっても、dsolve
が完全な解を返すとは限りません。dsolve
がx0
で異なる片側極限をもつ関数を返す場合に、条件y(x0)
を指定すると、dsolve
はこの条件を右側の からの極限として扱います。
アルゴリズム
'IgnoreAnalyticConstraints'
を false
に設定しない場合、dsolve
は、方程式を解く際に以下のルールのいくつかを適用します。
任意の a および b について、log(a) + log(b) = log(a·b) が成り立つ。特に、次の等式は任意の a、b、c の値に当てはまる。
(a·b)c = ac·bc.
任意の a および b について、log(ab) = b·log(a) が成り立つ。特に、次の等式は任意の a、b、c の値に当てはまる。
(ab)c = ab·c.
f および g が標準的な数学関数、かつ任意の微小な正数について f(g(x)) = x である場合、すべての複素数 x に対して f(g(x)) = x が有効であるものとする。以下に例を示します。
log(ex) = x
asin(sin(x)) = x, acos(cos(x)) = x, atan(tan(x)) = x
asinh(sinh(x)) = x, acosh(cosh(x)) = x, atanh(tanh(x)) = x
ランベルトの W 関数のすべての分岐指標 k に対して、Wk(x·ex) = x。
ソルバーは、
0
を除く任意の式で方程式の両辺を乗算できる。多項方程式の解は完全でなければならない。
バージョン履歴
R2006a より前に導入参考
functionalDerivative
| isolate
| linsolve
| ode23
| ode45
| odeToVectorField
| solve
| syms
| vpasolve