Re: Boundary value problem.
- From: spellucci@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx (Peter Spellucci)
- Date: Mon, 21 May 2007 19:32:25 +0000 (UTC)
In article <f2nk4e$f3a$1@xxxxxxxxxxxxxxxxxxx>,
Amit Bhatia <abhatia@xxxxxxxxxxxxxxxxx> writes:
Peter Spellucci wrote:>u(y)=c1*y(2)-c2*y(1)+c3, if -1 < c1*y(2)-c2*y(1)+c3 < 1
In article <f2hui6$gio$1@xxxxxxxxxxxxxxxxxx>,
Amit Bhatia <abhatia@xxxxxxxxxxxxxxxxx> writes:
>
>Hi,
> I am trying to identify the parameters for the following two point
>boundary value problem:
>
>y' = f(x,y)=[cos(y(3));sin(y(3));u(y)]
>where -1<=u(y)<=1,
>u(y)= c1*y(2)-c2*y(1)+c3 OR sign(c1*y-c2*x+c3) , c1,c2,c3 are constants
>to be determined.
>
>y(a), y(b) are given to me.
>
>It is a given that there exists smooth differentiable solution to the
>problem, but there can be more than one such solutions.
>
>
>If I solve this problem using bvp4c in matlab, I get the error
>"Unable to solve the collocation equations -- a singular Jacobian
>encountered"
>
>So apparently my initial guess is not good or there is some other
>problem. I was wondering if I should be doing something else or using
>something different then this Matlab routine?
> The problem is more of parameter estimation probably.
>
>thanks,
>--a.
what does this "OR" mean : two cases , a switch in the definition of y(3)'
or what? the sign-case might be harmful if you have a bad initial guess
and a sign change occurs, such that a jump occurs in the course of integration
this will led to failure. also, if there exists several (isolated) solutions
then somewhere the jacobian of the system must become singular, and again with
a bad choice you will get trouble. did you try "shooting" to get an initial guess?
maybe if you begin with a low precision requirement first and then increase this
step by step, using interpolation of the old solution to get the new guess?
hth
peter
OR means that when the value of u(y) gets saturated we use the
maximum/minimum possible, i.e.,
=1 if c1*y(2)-c2*y(1)+c3 >1
=-1 if c1*y(2)-c2*y(1)+c3 < -1
I am not sure what you meant by initial guess: I have y(0), y(T) already
specified. So I need the constants c1, c2, c3 only. I do start with an
initial guess for them, but that gives me that Jacobian is singular.
I do not think there are any jumps, however there is non linearity in
form of saturation. Also, we can have sines and cosines in solutions, so
I am not sure but it may cause problems?
In any case, it is a given that the solution y() is continuous and
differentiable.
--a.
so your problem has a nonsmooth right hand side, this means that the
collocation based solvers will fail. you must identify the switch points and
solve a multipoint boundary value problem (both tasks must even be mixed here)
and due to the nonlinearity you need indeed an initial grid, not containing the
two boundary points only, and the guess of the solution there. otherwise again
the solver may (and will) run in the desert.
you should take a closer look on a textbook on solving nonlinear two point
boundary value problems , for example
Ascher, Mattheij and Russell
hth
peter
.
- Follow-Ups:
- Re: Boundary value problem.
- From: Amit Bhatia
- Re: Boundary value problem.
- References:
- Boundary value problem.
- From: Amit Bhatia
- Re: Boundary value problem.
- From: Peter Spellucci
- Re: Boundary value problem.
- From: Amit Bhatia
- Boundary value problem.
- Prev by Date: Re: differential equation for any orthogonal polynomial
- Next by Date: Re: help about ARPACK solver
- Previous by thread: Re: Boundary value problem.
- Next by thread: Re: Boundary value problem.
- Index(es):
Relevant Pages
|