2016-06-26 6 views
3

質量行列を使用しない場合、ode45のようなオードソルバーは、y '= f(t、y)を解くことができます。MATLABのオードソルバーの質量行列は何ですか?

しかし、「質量」行列M(t、y)y '= f(t、y)を含む問題については、オードソルバーのオプションがあります。

正確に「質量」マトリックスとは何ですか?この用語は、質量 - ばね系振動の質量から来るのだろうか?このドキュメントのサンプルコードは見つかりません。また、y '= f(t、y)の式で、f(t、y)のtとyについての情報を符号化することができるようです。どのような状況/例でM(t、y)y '= f(t、y)はM(t、y)が必要な場合に発生するでしょうか?

答えて

1

これは、完全にhere in the documentation for odesetと説明されています。はい、2次システムの質量/慣性項に関連する可能性がありますが、同じ形式の他のシステムでは異なるパラメータを表すこともできます。このオプションは、場合によっては効率を向上させることができ、特異(非可逆)質量行列(一般的ではない物理系)を扱うことができます。

The book Solving ODEs with Matlab(PDF)Shampine、et al。詳細と良い例が提供されています(セクション2.3.2、ページ105) - Matlabのbatonodeを参照してください。

0

質量行列は、結合された常微分方程式および代数方程式を同時に解くために使用できます。例えば

y'(1) = 2y(1) + 3(y)^2
y'(2) = 5y(1) - 2y(2)^4
0 = y(1)^3 + y(3) + 2
0 = y(2)^4 + y(4) - 8

がAS質量行列と関数ode23t用いて解くことができる:

M =
[1 0 0
0 0 0 0]いくつかのODEソルバがよく特異質量行列を扱うことができないより

注意。 ode23tとode15sはこの仕事をすることができます。

詳細については、https://se.mathworks.com/help/matlab/ref/odeset.html#input_argument_namevalue_d119e730030

を参照してください。