0

以下の問題をmatlabで解きたいです。

私の問題は、古典的な強制減衰調和振動子ですが、問題は、振動子を動かす力が、以前に MATLAB (pdepe を使用) で計算された時間依存であることです。

したがって、ode45 ソルバーを使用すると、次のエラーが発生します。Attempted to access Param.Te(1.00004,10); index must be a positive integer or logical.

MATLAB ODE関数で問題をスキップして、次のように記述しました

dy(1)=1/Param.m.*Param.Te(floor(t+1),10)-Param.nu.*x(1)-Param.wo2.*x(2);
dy(2)=x(1);

それ以外の

dy(1)=1/Param.m.*Param.Te(t+1,10)-Param.nu.*x(1)-Param.wo2.*x(2);
dy(2)=x(1);

ただし、これは私の関数の非常に「汚い」近似値であり、おそらく値を外挿することによって、この関数のより良い範囲のデータを取得する方法であるかどうかを知りたいのですが、少し迷っていますここ...

ありがとう :)

PS: このサイトでの最初の投稿です。このトピックで何か忘れていることがあれば、教えてください。

4

0 に答える 0