在MATLAB中用时间相关的力求解强迫振子方程

时间:2013-07-25 13:44:11

标签: matlab indexing ode

我想在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:这是我在这个网站上的第一篇文章,如果我忘记了这个主题的任何内容,请告诉我。

0 个答案:

没有答案