Mathematica 9 is now available
Services & Resources / Wolfram Forums / MathGroup Archive
-----

MathGroup Archive 2010

[Date Index] [Thread Index] [Author Index]

Search the Archive

Re: inequality as constraints on NDSolve +Integral...

  • To: mathgroup at smc.vnet.net
  • Subject: [mg106514] Re: inequality as constraints on NDSolve +Integral...
  • From: Daniel Lichtblau <danl at wolfram.com>
  • Date: Fri, 15 Jan 2010 03:17:57 -0500 (EST)
  • References: <201001050642.BAA23770@smc.vnet.net> <4B4356F3.4080201@wolfram.com> <000c01ca93b8$7ab26e60$70174b20$@uni-heidelberg.de>

Stefano Pasetto wrote:
> Dear Daniel Lichtblau,
> thank you very much, your solution is the most brilliant... but, now,
> suppose that I add a perturbation term (I'm not sure about my
> implementations)
> I define simply a perturbative term for t>0.5 and nothing for t<0.5
> 
> f[t_?NumericQ]:=Piecewise[{{Integrate[x[t+a],{a,0,1}],t>0.5},{0,t<=0.5}}]
> 
> so that the system become as you suggested (t interval spans 0->2)
> NDSolve[{
> x'[t] == UnitStep[x[t]] (-y[t] - x[t]^2 + f[t]), 
> y'[t] == UnitStep[y[t]] (2 x[t] - y[t]^3 + f[t]), 
> x[0] == 1, y[0] == 1}, {x, y}, {t, 0, 2}]
> 
> where I added the extra f[t]. Apparently it doesn't work. Better: is there
> any way to integrate a system like:
> 
> NDSolve[{
> x'[t] == UnitStep[x[t]] (-y[t] - x[t]^2 + Integrate[x[t+a],{a,0,1}]), 
> y'[t] == UnitStep[y[t]] (2 x[t] - y[t]^3 + Integrate[x[t+a],{a,0,1}]), 
> x[0] == 1, y[0] == 1}, {x, y}, {t, 0.5, 2}]
> 
> or is it a mission impossible?
> thankX again for any help!
> Best regards
> Stefano 
> [...]

Your perturbation terms put you into the realm of Integro-differential 
equations. I do not know how one goes about solving such in any 
automated fashion.

I would probably attempt to rewrite using explicit differencing 
approximations, by subdividing the independent variable range. 
Derivatives are easy. Also approximate the integrals over the dependent 
variables as (possibly weighted) sums evaluated at the grid points (the 
ones on the t-axis). This should give rise to a system of liner 
equations. Solve it, you get your dependent variables evaluated at the 
grid points. Now interpolate.

Might be best to interpolate in the same way that you approximated the 
integrals (so if you use cubic polynomials, make sure you do something 
similar when you approximate the  integrals as sums).

Maybe there is a more direct approach. But no such has revealed itself 
to me.

Daniel Lichtblau
Wolfram Research






  • Prev by Date: Re: Simplify with NestedLessLess?
  • Next by Date: Re: Re: disable canceling
  • Previous by thread: Re: inequality as constraints on NDSolve +Integral...
  • Next by thread: Re: inequality as constraints on NDSolve