Re: Solve and parametric nonlinear equations
- To: mathgroup at smc.vnet.net
- Subject: [mg93833] Re: Solve and parametric nonlinear equations
- From: dh <dh at metrohm.com>
- Date: Wed, 26 Nov 2008 07:22:53 -0500 (EST)
- References: <gggqe5$30b$1@smc.vnet.net>
Hi Allesandro, there are equations whose solution can not be given in a closed formula. E.g. there is no explicite formula for the solution of: Sin[x]==x. But you may still use numerical methods. In your case, you could numerical calculate the value of the solution for some specific values of the parameters and then make a numerical fit to this points. However, note that there may be more than one solution (you may even have infinite many solutions, see example above). This will give you the solution of the original equation as a function of the parameters. hope this helps, Daniel alessandro tavoni wrote: > Hello, I am newbie to Mathematica 6, and I am having some difficulties with > Solve. > > > > I have a two algebraic equations in two variables and two parameters and I > need to numerically solve the system over an interval of values for the > parameters. > > > > When using Solve, I get the message: Solve::tdep: The equations appear to > involve the variables to be solved for in an essentially non-algebraic way. > > > > I tried several alternative approaches, but no one worked. Findroot works > fine, but I need the symbolic solution since I am interested in the values > of the solutions when the parameters alfa and beta change. To simplify > matters, I assign a numerical value to lambda, but that's not enough to make > it analytically solvable apparently. Here's the code: > > > > \[Lambda] = .43 > > \!\(\*OverscriptBox["U1", > > RowBox[{"\[IndentingNewLine]", "DifR"}]]\) = 14 - 6 \[Beta] > > > > \!\(\*OverscriptBox["U1", "UifR"]\) = 4 - 18 \[Alpha] > > > > \!\(\*OverscriptBox["U1", "UifL"]\) = 10 - 2 \[Alpha] > > > > \!\(\*OverscriptBox["U1", "DifL"]\) = 9 > > > > \!\(\*OverscriptBox["U2", "LifD"]\) = 9 > > > > \!\(\*OverscriptBox["U2", "RifD"]\) = 8 - 6 \[Alpha] > > > > \!\(\*OverscriptBox["U2", "RifU"]\) = 22 - 18 \[Beta] > > > > \!\(\*OverscriptBox["U2", "LifU"]\) = 12 - 2 \[Beta] > > > > eq1 = Pu == \[ExponentialE]^(\[Lambda] ( > > \!\(\*OverscriptBox["U1", "UifL"]\) Ql + > > \!\(\*OverscriptBox["U1", > > "UifR"]\) (1 - Ql)))/(\[ExponentialE]^(\[Lambda] ( > > \!\(\*OverscriptBox["U1", "UifL"]\) Ql + > > \!\(\*OverscriptBox["U1", > > "UifR"]\) (1 - Ql))) + \[ExponentialE]^(\[Lambda] ( > > \!\(\*OverscriptBox["U1", "DifL"]\) Ql + > > \!\(\*OverscriptBox["U1", "DifR"]\) (1 - Ql)))) > > eq2 = Ql == \[ExponentialE]^(\[Lambda] ( > > \!\(\*OverscriptBox["U2", "LifU"]\) Pu + > > \!\(\*OverscriptBox["U2", > > "LifD"]\) (1 - Pu)))/(\[ExponentialE]^(\[Lambda] ( > > \!\(\*OverscriptBox["U2", "LifU"]\) Pu + > > \!\(\*OverscriptBox["U2", > > "LifD"]\) (1 - Pu))) + \[ExponentialE]^(\[Lambda] ( > > \!\(\*OverscriptBox["U2", "RifU"]\) Pu + > > \!\(\*OverscriptBox["U2", "RifD"]\) (1 - Pu)))) > > Solve[{eq1, eq2}, {Pu, Ql}] > > > > Any suggestions would be much appreciated, > > > > Alessandro > > > > -- > > Alessandro Tavoni > > Ph.D. candidate > > Advanced School of Economics, University of Venice "C=E0 Foscari" > > <http://venus.unive.it/alessandro.tavoni> > http://venus.unive.it/alessandro.tavoni > > LevinLab member <http://www.eeb.princeton.edu/~slevin/Labdirectory.html> > at > Princeton University > > > >