Dismiss Notice
Join Physics Forums Today!
The friendliest, high quality science and math community on the planet! Everyone who loves science is here!

How to Solve an ODE Problem when one of parameters is dependent to derivative?

  1. Apr 2, 2012 #1
    Hello Guys!
    I have an ODE problem that I'm solving it by MATLAB ODE solvers!
    in fact I have a system of non-linear differential equations in one of these equations I have a parameter that it's value is dependent to derivative! the general form of equation is like this (big letter parameters are known!):

    dy/dt = A + B + f(C,D,dy/dt)

    how can I solve this problem by ode45 or other MATLAB ODE solvers?
  2. jcsd
  3. Apr 3, 2012 #2


    User Avatar
    Homework Helper

    Is the function f known?
  4. Apr 3, 2012 #3
    yes! it is.
    but it's not reversible
  5. Apr 4, 2012 #4
    The ODE : dy/dt = A + B + f(C,D,dy/dt) contains no y and no t. As a consequence dy/dt = constant.
    Let X= dy/dt . X is solution of the equation X = A + B + f(C, D, X) wich is not an ODE.
    It doesn't matter if the function is not revertsible. We don't need to know the analytical expression of the solution(s) X. We know that dy/dt = constant (or = several different constants if there are several solutions). Each one can be numerically computed, not using an ODE solver, but using an usual numerical equation solver.
    The solution(s) is (are) : y(t) = X*t +c
    c is a constant to be determined by the boundary condition.
  6. Apr 4, 2012 #5
    No! No! it has y and t!
    A and B and C and D are NOT constant parameters!
    I did't write them because they were not necessary!
    in fact You don't need to know what's the equation exactly to answer my question!

    My question is simple:

    MATLAB ODE solvers solve equations in form of dy/dt=f(t,y) but I want to solve an equation in form of dy/dt=f(t,y,dy/dt) ... How I can do that by MATLAB?
  7. Apr 4, 2012 #6
    OK. Sorry for the missunderstanding.
    May be, you could use an algorithm of this kind:
    Start with given initial values y and t.
    Recursive process :
    Compute A(y,t), B(y,t), C(y,t) and D(y,t)
    Solve X=A+B+f(C,D,X) with a numerical equation solver, introduced as sub-program.
    With the computed value X=dy/dt the incrementation of y is done, as well as the incrementation of t.
    Then continue the recursive process.
  8. Apr 4, 2012 #7
    I'll try it ... thank you so much
Share this great discussion with others via Reddit, Google+, Twitter, or Facebook