A simple nonlinear ode

1. Mar 28, 2012

donifan

A "simple" nonlinear ode

Hi
Does anyone see a way to solve/approximate this ODE?

dy'=exp(-f(t)y) with y(0)=yo

f(t) can be as simple as c*t^3/2 but it may be more complex. This came out as the solution of a very complex problem. This is the final threshold.

Thanks,

Donifan

2. Mar 28, 2012

phyzguy

Re: A "simple" nonlinear ode

You might try using successive approximations, as follows:
$$y_1(t) = y0$$
$$y_2(t) = y0 + \int_0^t e^{-f(t')y_1(t')}dt'$$
$$y_3(t) = y0 + \int_0^t e^{-f(t')y_2(t')}dt'$$
$$y_4(t) = y0 + \int_0^t e^{-f(t')y_3(t')}dt'$$

And so on. If f(t) is well behaved, this can converge fairly quickly.

3. Mar 28, 2012

X89codered89X

Re: A "simple" nonlinear ode

I believe your y0 should be $y_{n-1}(t)$ when writing out the equation for $y_n(t)$

I assume you're doing Picard iteration?

4. Apr 2, 2012

donifan

Re: A "simple" nonlinear ode

Thanks for the suggestion. However even for the simple case of f=t^3/2, y_2 is already a nasty function. I'll keep trying.

5. Apr 2, 2012

phyzguy

Re: A "simple" nonlinear ode

Do you need an analytic solution, or is a numerical integration adequate? For your t^3/2 case, the successive approximations converge after 2-3 iterations if you do the integrations numerically.

6. Apr 2, 2012

I like Serena

Re: A "simple" nonlinear ode

For a numerical approximation you can typically use Runge-Kutta.

7. Apr 2, 2012

donifan

Re: A "simple" nonlinear ode

Sorry about the confusion. Yes, I am looking for an analytical solution/approximation. I agree the numerical solution is actually simple. Thanks!

8. Apr 2, 2012

I like Serena

Re: A "simple" nonlinear ode

You've got me confused at "analytical approximation"... what is that?

An analytical solution gets very complex in a hurry.

9. Apr 2, 2012

donifan

Re: A "simple" nonlinear ode

Analytical approximation would be something like a solution of a different but related problem, so the order of the error can be estimated.

I know. The analytical solution by the Picard method is pretty much impossible.

Maybe there is no solution however the equation seems so simple a compact that you almost feel there should be substitution/trick that quickly solves it, at least for f=c t^3/2.

Thanks.

10. Apr 2, 2012

I like Serena

Re: A "simple" nonlinear ode

Can't you also estimate the error with Runge-Kutta?
How would any analytical approximation, like Picard's method I guess, be better?

11. Apr 2, 2012

donifan

Re: A "simple" nonlinear ode

The answer is simple: time. An analytical approximation is faster. The solution is suppose to be part of a humongous code that cannot spare a microsecond.

P.S. When I said error, I meant from the approximated analytical solution to the actual solution.

12. Apr 2, 2012

phyzguy

Re: A "simple" nonlinear ode

How about this: Even faster than an analytic solution is a look-up table. Given f(t), solve the equation numerically, then build a look-up table with interpolation that returns y given t. This is typically quite fast. Can this work? Is f(t) a given, or is f(t) constantly changing?

13. Apr 2, 2012

donifan

Re: A "simple" nonlinear ode

The form of f(t) is

$f(t) = (a^{2} +b t)^{3/2} - a^3$

a and b are constantly changing. The simplest case is a=0. In principle a look up table would work, but I was wondering if a more elegant solution can be reached.

Thanks.

14. Apr 2, 2012

donifan

Re: A "simple" nonlinear ode

Just realized there is a typo (there is a d before y' that is no suppose to be there). So the whole problem is

$y'=\exp[-f(t)y]$ with $y(0)=y_0$

and

$f(t) = (a^{2} +b t)^{3/2} - a^3$

Thanks.