将矢量传入ode45(MATLAB / Octave)

时间:2013-08-21 18:25:13

标签: matlab ode

我正在通过ode45解决一个功能。为了方便起见,我将使用这个模拟案例来提出我的问题:

实际微分函数是y'= f(时间,y,电流),而电流是时间的函数,在每个时间点都有一个值。例如,时间= [0.001,0.002,0.003],电流= [0.123,0.456,0.789]。但是,当我使用ode45时,我必须按以下格式编写函数:

function dy = odefun(t, y)
dy = some code % some code calculates y' = f(time, y, current)
end

因此,我陷入了如何传入参数“current”的问题。如果电流是常数会更容易,但事实并非如此。

一种解决方法是编写函数getCurrent(time);但是,这意味着我需要搜索时间向量,找到匹配及其索引,然后返回当前值。搜索过程可能需要很长时间才能完成。

所以,我想知道,有没有更正确的方法呢?

谢谢!

0 个答案:

没有答案