Re: Q about Nonlinear Simul. Eq

• To: mathgroup at smc.vnet.net
• Subject: [mg3728] Re: [mg3716] Q about Nonlinear Simul. Eq
• From: brucec (Bruce Carpenter)
• Date: Thu, 11 Apr 1996 02:52:38 -0400
• Sender: owner-wri-mathgroup at wolfram.com

```>Hello,
>
>I'm a newbie in this group.  I have a question about solving nonlinear
>simultaneous equation.  Please forgive me if my question is trivial.
>
>Is there any built-in function solving nonlinear simultaneous equations
>in Mathematica?  Or do I have to make a subroutine or a function to do
>that?
>
>Currently I'm using Mathematica v. 2.2.3 under UNIX.
>
>
>The following shows a small example for your reference:
>
>I tried to estimate x and y from this equation:
>*********************************************************************
>NSolve[{
>        x - 4 (Exp[-1 - 2x] / (Exp[-1 - 2x] + Exp[-2 - y])) == 0,
>        y - 4 (Exp[-2 -  y] / (Exp[-1 - 2x] + Exp[-2 - y])) == 0,
>        x + y                                               == 4
>        },
>        {x, y}]
>*********************************************************************
>
>After hitting shift+enter, what I get is the following message and the
>output:
>
>*********************************************************************
>Solve::tdep:
>   The equations appear to involve transcendental functions of
>     the variables in an essentially non-algebraic way.
>
>Out[1]=
>               -1 - 2 x
>           -4 E
>NSolve[{------------------- + x == 0,
>         -1 - 2 x    -2 - y
>        E         + E
>
>           -2 - y
>       -4 E
>   ------------------- + y == 0, x + y == 4}, {x, y}]
>    -1 - 2 x    -2 - y
>   E         + E
>********************************************************************
>
>
>
>J.C.

Hi Jinchul,

NSolve is a general way to find numerical solutions to polynomial
equations.  For arbitrary equations, there is FindRoot.

In[119]:=

??FindRoot

FindRoot[lhs == rhs, {x, x0}] searches for a numerical solution to the
equation lhs ==
rhs, starting with x == x0.

Attributes[FindRoot] = {HoldAll, Protected}

Options[FindRoot] =
{AccuracyGoal -> Automatic, Compiled -> True, DampingFactor -> 1,
Jacobian -> Automatic, MaxIterations -> 15, WorkingPrecision -> 16}

In[120]:=

soln = FindRoot[{x - 4 (Exp[-1 - 2 x] / (Exp[-1 - 2 x] + Exp[-2 - y])) == 0,
x + y - 4 == 0}, {x, 1.7}, {y, 2.2}]

Out[120]=

{x -> 1.75033, y -> 2.24967}

The three equations you gave overdetermine the system, so I just used two
of them.  Then I checked the solution against all three equations.

In[121]:=

{x - 4 (Exp[-1 - 2x] / (Exp[-1 - 2x] + Exp[-2 - y])),
y - 4 (Exp[-2 -  y] / (Exp[-1 - 2x] + Exp[-2 - y])), x + y - 4 } /. soln

Out[121]=

-16
{0., 4.44089 10   , 0.}

Best Regards,
Bruce Carpenter

-----------------------
Bruce Carpenter
Courseware Coordinator         phone: (217) 398-0700
Wolfram Research, Inc.           fax: (217) 398-0747
100 Trade Centre Drive         email: brucec at wolfram.com
Champaign, IL  61820             web:  http://www.wolfram.com

==== [MESSAGE SEPARATOR] ====

```

• Prev by Date: Re:Trig. Simplification
• Next by Date: Re: DSolveConstants question