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!
- References:
- How to remove a singularity
- From: William Duhe <williamduhe@hotmail.com>
- How to remove a singularity