Re: Solving a system of equations without having to define
- To: mathgroup at smc.vnet.net
- Subject: [mg112587] Re: Solving a system of equations without having to define
- From: "Michael A. Gilchrist" <mikeg at utk.edu>
- Date: Tue, 21 Sep 2010 02:05:14 -0400 (EDT)
Hi Niels, Thanks for the suggestion. I've run into systems of equations like this before, but was unable to solve them generally (I'm more biologist than mathematician). I'll give them a second look to see if I can find a recursive solution. With resepect to the original post. I think I can now refine my question as, "Is there a way to set up Mathematica to solve a set of a recursive equations with two boundary conditions?" Would appreciate any help. Mike ----------------------------------------------------- Department of Ecology & Evolutionary Biology 569 Dabney Hall University of Tennessee Knoxville, TN 37996-1610 phone:(865) 974-6453 fax: (865) 974-6042 web: http://eeb.bio.utk.edu/gilchrist.asp ----------------------------------------------------- On Mon, 20 Sep 2010, Niels R. Walet wrote: > I don't know of any way doing that, but I can see that you can find the outer > limits of your variables: > Define > > pol[n]:= Sum[ Binomial[n + 1, i] k^(n + 1 - i) Product[j t + mu, {j, 0, i > - 1}], {i, 0, n + 1}] > > m[imax]=k^imax lambda /pol[imax]; n[imax-1]=k^(imax-1) lambda (k+imax > t+mu)/pol[imax],.... > ms[imax]=(k^imax lambda mu)/(imax t)/pol[imax];ms[imax-1]=k^(imax-1) lambda > mu (2 k + imax t + mu))/((imax-1) t),.... > > This is enough to fully specify the solution, e.g., by recursive solution.... > > Niels > Michael A. Gilchrist wrote: >> Hi, >> >> I'm working with a model that consists of a series of coupled ODEs and I am >> trying to study their equilibrium behavior. Below is the code I use to >> define the equations and solve for the equilibrium state. >> >> (*-----------------------------------------------------*) >> (*define the variables *) >> imax = 3; >> >> valsI = Table[m[i], {i, 0, imax}]; >> valsII = Table[ms[i], {i, 0, imax}]; >> >> (*generate the equations *) >> eqnsI = Join[{lambda + t m[1] - (k + mu) m[0]}, >> Table[k m[i - 1] - k m[i] + t (m[i + 1] (i + 1) - m[i] i ) - >> mu m[i], {i, imax}] /. {m[imax + 1] -> 0}] ; >> >> eqnsII = Join[{mu m[0] + t ms[1] - delta ms[0]}, >> Table[ t (ms[i + 1] (i + 1) - ms[i] i ) + mu m[i], {i, >> imax}] /. {ms[imax + 1] -> 0}] ; >> >> (*solve the equation *) >> sol = Solve[Map[0 == # &, Join[eqnsI, eqnsII]], >> Join[valsI, valsII]]// Simplify; >> >> (*------------------------------------------------*) >> >> If I set imax to a small integer value such as 2 to 8, Mathematica crunches >> out a solution quickly. As imax gets bigger, Mathematica still comes up >> with a solution, but it gets ever more complex and difficult to calculate. >> >> Based on this behavior, I surmise there is a general solution to these >> equations but it is sufficiently complex that I cannot intuit it from >> looking at the solutions with imax = 2, 3, 4, .... I would love it if I >> could get Mathematica to give me a general solution such that the variable >> imax does not need to be explicitly defined. >> >> Does anyone know of a way to pose such a problem (i.e. solve a set of >> equations where the exact number is unspecified) to Mathematica? Or is >> this impossible? Any help would be greatly appreciated. >> >> Thanks for your attention to this matter. >> >> Mike >> >> >> > > > -- > Prof. Niels R. Walet Phone: +44(0)1613063693 > School of Physics and Astronomy Fax: +44(0)1613064303 > The University of Manchester Mobile: +44(0)7905438934 > Manchester, M13 9PL, UK room 7.7, Schuster Building > email: Niels.Walet at manchester.ac.uk web: > http://www.theory.physics.manchester.ac.uk/~mccsnrw > >