I'm trying to solve an ODE like this: xdot = r(t)-x, where r(t) is a pre-calculated signal array of size 100. Let x(0) = 0. How do I set up the ODE? Thanks a lot.

Antworten (1)

Nicolas Schmit
Nicolas Schmit am 4 Dez. 2017

0 Stimmen

Create a interpolation of r(t), for example using interp1(), then use the interpolation routine in an ODE solver.

2 Kommentare

Deepayan Bhadra
Deepayan Bhadra am 8 Dez. 2017
I'm not able to understand how this helps exactly. To elaborate, in the ODE45, [t,x] = ode45(@(t,x) (r(t)-x), tspan, x0), obviously I cannot specify r(t) like that. What I want is r(1), r(2), .... to be used at each step of the ODE. How do I modify the ODE45 command?
Star Strider
Star Strider am 8 Dez. 2017
See the ode45 documentation with respect to: ODE with Time-Dependent Terms (link).

Melden Sie sich an, um zu kommentieren.

Gefragt:

am 4 Dez. 2017

Kommentiert:

am 8 Dez. 2017

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by