我想在matlab中解决以下问题
我的问题是一个经典的强制阻尼谐振子,但问题是使振荡器运动的力是先前使用 MATLAB(使用 pdepe)计算的与时间相关的。
因此,当我使用 ode45 求解器时,出现以下错误:Attempted to access Param.Te(1.00004,10); index must be a positive
integer or logical.
我通过编写跳过了我的 MATLAB ODEfunction 中的问题
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:这是我在这个网站上的第一篇文章,如果我忘记了这个主题的任何内容,请告诉我。