[Date Index]
[Thread Index]
[Author Index]
FindRoot with parameterized interpolated function from NDSolve
*To*: mathgroup at smc.vnet.net
*Subject*: [mg110747] FindRoot with parameterized interpolated function from NDSolve
*From*: Ulvi Yurtsever <a at b.c>
*Date*: Sun, 4 Jul 2010 06:09:45 -0400 (EDT)
I have an interpolated function obtained
as the solution to a system of ODEs via NDSOlve.
The system and the solution depend on a number
of parameters. I then want to plug this function into
FindRoot to find the numerical solution of a system
of equations which depend on both the dependent variable
of the ODEs and the parameters. Mathematica barfs at
the use of parameters as in the following example:
First, what works as expected:
In[135]:= solnn =.
In[142]:=
solnn[a_] :=
NDSolve[{x'[t] == a *y[t], y'[t] == -x[t], x[0] == 1, y[0] == 0}, {x,
y}, {t, 0, Pi}]
In[144]:= FindRoot[(x /. solnn[1][[1]])[t] - (y /. solnn[1][[1]])[
t] == 0, {t, 2}]
Out[144]= {t -> 2.35619}
however:
FindRoot[{(x /. solnn[a][[1]])[t] - (y /. solnn[a][[1]])[t] == 0,
a - 1 == 0}, {{a, 0}, {t, 2}}]
produces, instead of the expected
{a->1., t->2.355619},
lots of error messages to the effect that NDSolve has encountered non-
numerical initial values etc
Is there any other way to use FindRoot for the purpose I am trying to
use it?
Prev by Date:
**Re: Is it possible to query current plot range values (or have**
Next by Date:
**Re: Mathematica Collect function**
Previous by thread:
**JLink NaN Support**
Next by thread:
**Re: FindRoot with parameterized interpolated function from NDSolve**
| |