1

ネストされたforループのコードをいくつか記述しましたが、これは問題なく機能します。列ベクトル、行ベクトル、および3x2行列の組み合わせを使用しますが、すべての次元は一貫しています。さて、これらのループを微分方程式として入れて使用するode15sと、突然、tの1回の反復でも機能しなくなります。それは言う

"MP(2,1)にアクセスしようとしました。size(MP)= [1,6]であるため、範囲外のインデックスを作成しました。"

実際にMPが3x2行列であると想定されているとき、そして確かに私がodeソルバーなしでコードをテストしていたときでした。行列の次元を変更する結果となる常微分方程式ソルバーの違いを知っている人はいますか?

どんな助けでも真剣に感謝します、事前に感謝します!

4

1 に答える 1

2

odeルーチンはベクトル入力()を想定し、ベクトルy0出力1xnを提供しますy。の呼び出しの直後に、ode15segを使用して行列に戻すことができy = reshape(y,[3 2]);、残りのコードは機能するはずです。

于 2012-11-01T21:28:54.237 に答える