MathGroup Archive 2003

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

Search the Archive

Re: Re: Finding Fixed Points for a Nonlinear System of equations

  • To: mathgroup at smc.vnet.net
  • Subject: [mg42916] Re: [mg42893] Re: [mg42862] Finding Fixed Points for a Nonlinear System of equations
  • From: sean kim <shawn_s_kim at yahoo.com>
  • Date: Sat, 2 Aug 2003 04:12:43 -0400 (EDT)
  • Sender: owner-wri-mathgroup at wolfram.com

hello katherine and Dr. Hollis. 

what a horribly nonlinear system. hill functions...

are you trying to figure out the initial conditions for this system?  

generally with parameters replaced with numbers, your systems will
reduce to a simpler case. That doesn't guarantee that your system will
be solvable using mathemtica. but if you need to use the steady state
assumptions to find an initial conditions, then it may do the trick. 

which brings up a point about the capital letters. I noticed that kone,
ktwo, apears twice, once as they are written, then again as Kone and
Ktwo. I think mathemtica will treat these as different parameters, but
that's a minor point. 

assuming, that the capitalization was a typo... if you do the
following, you will get some values for the variables.   and like I
said... if it's initial conditions you want. then this might work,
granted that you have chosen the right parameters. 

I'll just use randomly chosen, nonsensical ones for the sake of
illustrations. 

In[14]:=
Neqns = {vs*(Ki^nexp/(Ki^nexp + Pn[t]^nexp)) - vm*(M[t]/(Km + M[t])) ==
0, 
        ks*M[t] - Vone*(Pzero[t]/(Kone + Pzero[t])) + 
            Vtwo*(Pone[t]/(Pone[t] + Ktwo)) == 0, 
        Vone*(Pzero[t]/(Kone + Pzero[t])) - Vtwo*(Pone[t]/(Ktwo +
Pone[t])) - 
            Vthree*(Pone[t]/(Kthree + Pone[t])) + 
            Vfour*(Ptwo[t]/(Kfour + Ptwo[t])) == 0, 
        Vthree*(Pone[t]/(Kthree + Pone[t])) - 
            Vfour*(Ptwo[t]/(Kfour + Ptwo[t])) - Kone*Ptwo[t] +
Ktwo*Pn[t] - 
            vd*(Ptwo[t]/(Kd + Ptwo[t])) == 0, 
        Kone*Ptwo[t] - Ktwo*Pn[t] == 0} /. {(f_)[t] -> f} /. {vm ->
0.1, 
      Km -> 1, Ki -> 1, vs -> 0.1, ks -> 1, Vtwo -> 0.2, Vone -> 0.1, 
      Kone -> 1, Vthree -> 0. 3, Kthree -> 3, Vtwo -> 0.2, Ktwo -> 2,  

      Vfour -> 0.4,  Kfour -> 4,   vd -> 0.1, Kd -> 1,  nexp -> 1}



In[16]:=
Timing[Solve[Neqns, {M, Pzero, Pone, Ptwo, Pn}]]
Out[16]=
{54.618 Second, {{M -> -1.25, Pn -> -0.8, Pzero -> -15029.8, Pone ->
-60117.1,
       Ptwo -> -1.6}, {M -> -1.25, Pn -> -0.8, Pzero -> 15027.7, 
      Pone -> 60113.1, 
      Ptwo -> -1.6}, {M -> -0.579151 - 0.262884 \[ImaginaryI], 
      Pn -> -1.43169 + 0.649861 \[ImaginaryI], 
      Pzero -> -0.968138 - 0.316127 \[ImaginaryI], 
      Pone -> -3.12576 + 0.39072 \[ImaginaryI], 
      Ptwo -> -2.86337 + 1.29972 \[ImaginaryI]}, {M -> -0.579151 + 
          0.262884 \[ImaginaryI], Pn -> -1.43169 - 0.649861
\[ImaginaryI], 
      Pzero -> -0.968138 + 0.316127 \[ImaginaryI], 
      Pone -> -3.12576 - 0.39072 \[ImaginaryI], 
      Ptwo -> -2.86337 - 1.29972 \[ImaginaryI]}, {M -> 2.8583, Pn ->
0.349858,
       Pzero -> -1.05643, Pone -> -3.06471, Ptwo -> 0.699716}}}




--- Selwyn Hollis <selwynh at earthlink.net> wrote:
> In principle, here's what you need to do:
> 
> 	eqns = {vs*(Ki^nexp/(Ki^nexp + Pn[t]^nexp)) -
> 	      vm*(M[t]/(Km + M[t])) == 0,
> 	    ks*M[t] - Vone*(Pzero[t]/(Kone + Pzero[t])) +
> 	      Vtwo*(Pone[t]/(Pone[t] + Ktwo)) == 0,
> 	    Vone*(Pzero[t]/(Kone + Pzero[t])) -
> 	      Vtwo*(Pone[t]/(Ktwo + Pone[t])) -
> 	      Vthree*(Pone[t]/(Kthree + Pone[t])) +
> 	      Vfour*(Ptwo[t]/(Kfour + Ptwo[t])) == 0,
> 	    Vthree*(Pone[t]/(Kthree + Pone[t])) -
>   	     Vfour*(Ptwo[t]/(Kfour + Ptwo[t])) - kone*Ptwo[t] +
>   	     ktwo*Pn[t] - vd*(Ptwo[t]/(Kd + Ptwo[t])) == 0,
> 	    kone*Ptwo[t] - ktwo*Pn[t] == 0}/.{(f_)[t]-> f} //Simplify
> 
> 	Solve[eqns, {M, Pzero, Pone, Ptwo, Pn}]
> 
> But it's not going to work (in any reasonable length of time) unless 
> you provide values for at least some of the parameters.
> 
> The key parameter is nexp. With nexp:=1 and nexp:=2, I was able to
> make 
> the following work.
> 
> First eliminate M, Pzero, and Pn:
> 
> 	sol1 = First[Solve[eqns[[1]], M]]
> 
> 	sol2 = First[Solve[eqns[[2]], Pzero]]
> 
> 	sol5 = First[Solve[eqns[[5]], Pn]]
> 
> 	neweqns= eqns //. Flatten[{sol1, sol2, sol5}] // Simplify
> 
> Then solve the reduced system:
> 
> 	Solve[neweqns, {Pone, Ptwo}]
> 
> This approach *might* work with other values of nexp, but I don't
> think 
> you're even going to like what you see of the solution with nexp:=1.
> 
> -----
> Selwyn Hollis
> http://www.math.armstrong.edu/faculty/hollis
> 
> 
> On Thursday, July 31, 2003, at 10:19  AM, Katherine Gurdziel wrote:
> 
> > This is what they look like:
> >
> > vs*((Ki^nexp)/((Ki^nexp) + (Pn[t]^nexp))) - vm*(M[t]/(Km + M[t]))
> == 
> > M'[t],
> >
> > ks*M[t] - Vone*(Pzero[t]/(Kone + Pzero[t])) +
> Vtwo*(Pone[t]/(Pone[t] +
> > Ktwo))  == Pzero'[t],
> >
> > Vone*(Pzero[t]/(Kone + Pzero[t])) - Vtwo*(Pone[t]/(Ktwo + Pone[t]))
> -
> >     Vthree*(Pone[t]/(Kthree + Pone[t])) + Vfour*(Ptwo[t]/(Kfour + 
> > Ptwo[t]))
> > ==
> >   Pone'[t],
> >
> > Vthree*(Pone[t]/(Kthree + Pone[t])) - Vfour*(Ptwo[t]/(Kfour + 
> > Ptwo[t])) -
> >     kone*Ptwo[t] + ktwo*Pn[t] - vd*(Ptwo[t]/(Kd + Ptwo[t])) == 
> > Ptwo'[t],
> >
> > kone*Ptwo[t] - ktwo*Pn[t] == Pn'[t]
> >
> >
> > Thank you for your help.
> > Katherine
> >
> > -----Original Message-----
> > From: Selwyn Hollis [mailto:selwynh at earthlink.net]
To: mathgroup at smc.vnet.net
> To: mathgroup at smc.vnet.net
> > Sent: Thursday, July 31, 2003 10:16 AM
> > To: Katherine Gurdziel
> > Cc: mathgroup at smc.vnet.net
> > Subject: [mg42916] [mg42893] Re: [mg42862] Finding Fixed Points for a
> Nonlinear System of
> > equations
> >
> >
> > It depends on the form of functions involved. If they are
> polynomials,
> > use Solve or NSolve. Otherwise you may need FindRoot.
> >
> > -----
> > Selwyn Hollis
> > http://www.math.armstrong.edu/faculty/hollis
> >
> >
> > On Thursday, July 31, 2003, at 08:02  AM, Katherine Gurdziel wrote:
> >
> >> Sorry I wasn't clear.  I am looking for all of the solutions where
> the
> >> system is equal to zero.
> >>
> >> [0		[equation for the derivatives dP1
> >> 0		dP2
> >> 0	= 	dP3
> >> 0		dP4
> >> 0]		dP5]
> >>
> >> I hope this makes things clearer.
> >>
> >> Katherine
> >>
> >> -----Original Message-----
> >> From: Selwyn Hollis [mailto:selwynh at earthlink.net]
To: mathgroup at smc.vnet.net
> To: mathgroup at smc.vnet.net
> >> Sent: Wednesday, July 30, 2003 8:27 PM
> >> To: Katherine Gurdziel
> >> Cc: mathgroup at smc.vnet.net
> >> Subject: [mg42916] [mg42893] Re: [mg42862] Finding Fixed Points for a
> Nonlinear System of
> >> equations
> >>
> >>
> >> Katherine,
> >>
> >> I think you need to be more specific about what you want to do. It
> is
> >> not clear what you mean by "the fixed points" of a system of
> >> differential equations. Perhaps you mean the equilibrium/critical
> >> points??
> >>
> >> -----
> >> Selwyn Hollis
> >> http://www.math.armstrong.edu/faculty/hollis
> >>
> >>
> >> On Wednesday, July 30, 2003, at 07:31  PM, Katherine Gurdziel
> wrote:
> >>
> >>> I am trying to isolate the fixed points for five differential
> >>> equations that
> >>> are dependent on each other.  I have experimented with using
> NDSolve
> >>> but am
> >>> having problems finding the fixed points.  Specifically, I need
> to be
> >>> able
> >>> to solve the system without setting initial conditions and need
> to
> >>> find all
> >>> of the fixed points.
> >>> Could you make some suggestions about an approach that I could
> try to
> >>> solve
> >>> this problem?
> >>>
> >>> Thank you very much.
> >>>
> >>> Katherine
> >>>
> >>>
> >>>
> >>
> >>
> >>
> >>
> >
> >
> >
> >
> 


=====
when riding a dead horse,  some dismount.

while others... 

write memoirs on the subject of riding a dead horse.

__________________________________
Do you Yahoo!?
The New Yahoo! Search - Faster. Easier. Bingo.
http://search.yahoo.com


  • Prev by Date: Re: ?
  • Next by Date: Re: NDSolve
  • Previous by thread: Re: Finding Fixed Points for a Nonlinear System of equations
  • Next by thread: Re: Usage of tex