Question: A special issue on dsolve numeric

Hi everybody

My question comes back to singularities within a differential equation.

Consider a Non-Linear differential equation of y(x), say Eq1.

When we solve this with dsolve ({Eq1, ICs}, type=numeric) we can extract the value of y(x) for each independent variable x.

Now if Eq.1 admits a singularity (for example at x=x0) that can not be removed the following message appears:

Error, (in unknown) cannot evaluate the solution further left (right) of x0, probably a singularity.

By left(right) Maple means that the solution cannot be evaluated for x<x0 (x>x0).

However, in some situations, the Linear form of Eq.1 behaves regularly for all of the values of x, I call the Linear equation as Eq.2.

Now my question is:

How can I make a conditional expression with proc and for commands that do the following requirements: 

1. Detect the singular point x0 by running a loop over x for the numerical solution of Eq.1 and write the value of x0 for different initial conditions , since the value of x0 depends on initial conditions.

2. Find the value of y(x=x0) by solving Eq.2 as the linear equation is no longer singular at x=x0.

I want to find out the suitable algorithm through which I can perform the above procedures.

Thank you very much and best regards.

Hadi

Please Wait...