MathGroup Archive 2013

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

Search the Archive

Re: How to remove a singularity

  • To: mathgroup at smc.vnet.net
  • Subject: [mg130536] Re: How to remove a singularity
  • From: "Ralph and Dominique Crenshaw" <raldom at verizon.net>
  • Date: Fri, 19 Apr 2013 01:18:07 -0400 (EDT)
  • Delivered-to: l-mathgroup@mail-archive0.wolfram.com
  • Delivered-to: l-mathgroup@wolfram.com
  • Delivered-to: mathgroup-newout@smc.vnet.net
  • Delivered-to: mathgroup-newsend@smc.vnet.net
  • References: <20130418093435.829D36A66@smc.vnet.net>

William, maybe one of the approaches below would be useful.

The first approach uses DownValues to define a singularity and the second
uses a condition to cover a range of values.

I would appreciate knowing if either of these approaches works for your
case.

Best regards,
Ralph

sync[x_]:=Sin[x]/x
sync[0]:=1
{sync[0],sync[0.1]}
{1,0.998334}
sync1[x_]:=Sin[x]/x
sync1[x_]:=1/;x<0.01
{sync1[.1],sync[.001]}
{0.998334,1.}

-----Original Message-----
From: William Duhe [mailto:williamduhe at hotmail.com] 
Sent: Thursday, April 18, 2013 5:35 AM
To: mathgroup at smc.vnet.net
Subject: [mg130536] How to remove a singularity

Bellow I have a differential equation which hits a singularity at low values
of t. What I want to do is somehow utilize the WhenEvent command in order to
replace the last factor of the equation (2/t a'[t]) with 0 at low values of
t in order to avoid getting errors. Is there a way to do this?

Here is an example of the equation and how I attempted to use the Whenevent
Command.

q = NDSolve[{a''[t] == 1/2 a[t]^2 + 1/6 a[t]^6 - 1/4 a[t]^4 - 2/t a'[t],
a[0] == 1, a'[0] == 0, WhenEvent[t < .1, a'[t] -> 0]}, a, {t, 0, 1}];

any help would be appreciated!






  • Prev by Date: Re: Converting a magnified image of a line to a single
  • Next by Date: Re: Easy to get the audio out of sync with the graphics (Repost)
  • Previous by thread: How to remove a singularity
  • Next by thread: Re: How to remove a singularity