MathGroup Archive 2005

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

Search the Archive

FindRoot::nlnum error message for non-linear system of equations

  • To: mathgroup at smc.vnet.net
  • Subject: [mg57042] FindRoot::nlnum error message for non-linear system of equations
  • From: daniel.chung at yale.edu
  • Date: Thu, 12 May 2005 22:44:26 -0400 (EDT)
  • Sender: owner-wri-mathgroup at wolfram.com

Hello,
I have recently started using Mathematica and I've been using it to
solve non-linear systems of equations via the FindRoot command.  I am
using it to solve approximations of building airflow and when I had a
relatively small system of 6 equations and 6 unknowns I had no problem
getting it to solve for the unknowns. More recently though I have been
trying to solve a system of 39 equations with 39 unknowns and I've been
running into error messages. I've tried changing the format of the
start values to include a range but I still get a FindRoot::nlnum error
message.  Any help would be appreciated.  
-Daniel Chung, daniel.chung at yale.edu

Here is the text for the input followed by the generated error message:

Clear[
    (* Variables - 39 unknowns  *)
            m14, m23, m33, m11, m24, m21, m42,m31, m44, m83, m51, m61,
        m64, m54, m63, m53,
            v1,v2,v3,v4,v5,v6, v7,
            p1,p2,p3,p4,p41, p42, p43, p44, p45, p46, p5, p54, p57,
        p6, p66, p67
     ];
(* Constants  *)
        ro = 1.2;
        A1= 0.0099; A2 = 0.0300; A3 = 0.0200; A4 = 0.0250;
        A5 =0.0300; A6 =0.0300; A7 = 0.0250;
        ev1 = 2.4;  ev2 = 2.4; ev3 =2.4; ev5 =2.4; ev6 =2.4; ev7 = 2.4;
        K14 = 0.00373;  K23 = 0.00328; K33 = 0.00319;  K53 = 0.00310;  
        K63 = 0.00152;  K83 = 0.00190;  K11 = 0.00389;
        K21 = 0.00562;  K24 = 0.0000472;  K31 = 0.00415;  
        K42 = 0.000825;  
        K44 = 0.00157;  K51 = 0.00418;  K54 = 0.00175;
        K61 = 0.000344;   K64 = 0.000553;
        n14 = 0.58;  n23 = 0.60; n33 = 0.58;  n53 = 0.54;  n63 = 0.56;  
        n83 = 0.59; n11 = 0.90;        n21 = 0.78;  n24 = 0.87;  n31 =
0.59;  
        n42 = 0.65;  n44 = 0.51;  n51 = 0.76; n54 = 0.64; n61 = 0.81;  
        n64 = 0.69;
(* Boundary Conditions  *)
        pow = 16;
        pol = -81;
        pos = -2.8;
results=FindRoot [
    { m14-m11-ro*v3*A3 ==0,
      m11+m23-m21-m24-ro*v1*A1==0,
      m24+m33+m42-m31-ro*v2*A2==0,
      m21+m31-m14-m44-m51-m61+ro*v1*A1+ro*v2*A2+ro*v3*A3-ro*v4*A4-
        ro*v5*A5-ro*v6*A6==0,
      m44+m51+m54-m53+ro*v4*A4+ro*v7*A7==0,
      m61+m64-m54-m63+ro*v6*A6-ro*v7*A7==0,
      m14-ro*K14*(pow-p1)^n14 == 0,
      m23-ro*K23*(pow-p2)^n23 == 0,
      m33-ro*K33*(pow-p3)^n33 == 0,
      m11-ro*K11*(p1-p2)^n11 == 0,
      m24-ro*K24*(p2-p3)^n24 == 0,
      m21-ro*K21*(p2-p4)^n21 == 0,
      m42-ro*K42*(p4-p3)^n42 == 0,
      m31-ro*K31*(p3-p4)^n31 == 0,
      m44-ro*K44*(p4-p5)^n44 == 0,
      m83-ro*K83*(p4-pos)^n83 == 0,
      m51-ro*K51*(p4-p5)^n51 == 0,
      m61-ro*K61*(p4-p6)^n61 == 0,
      m64-ro*K64*(pos-p6)^n64 == 0,
      m54-ro*K54*(p6-p5)^n54 == 0,
      m63-ro*K63*(p6-pol)^n63 == 0,
      m53-ro*K53*(p5-pol)^n53 == 0,
      p2*v1*A1-0.5*ro*(v1^3)*A1*ev1-p41*v1*A1 == 0,
      p3*v2*A2-0.5*ro*(v2^3)*A2*ev2-p42*v2*A2 == 0,
      p1*v3*A3-0.5*ro*(v3^3)*A3*ev3-p43*v3*A3 == 0,
      p44*v4*A4-0.5*ro*(v4^3)*A4*ev4-p54*v4*A4 == 0,
      p45*v5*A5-0.5*ro*(v5^3)*A5*ev5-pos*v5*A5 == 0,
      p46*v6*A6-0.5*ro*(v6^3)*A6*ev6-p66*v6*A6 == 0,
      p67*v7*A7-0.5*ro*(v7^3)*A7*ev7-p57*v7*A7 == 0,
      (p41*v1*A1+0.5*ro*(v1^3)*A1)+(p42*v2*A2+0.5*ro*(v2^3)*A2)+
                (p43*v3*A3+0.5*ro*(v3^3)*A3) -
                (p45*v5*A5+0.5*ro*(v5^3)*A5) -
                (p46*v6*A6+0.5*ro*(v6^3)*A6) -
                (p44*v4*A4+0.5*ro*(v4^3)*A4) == 0,
      p41-p42 == 0,
      p41-p43 == 0,
      p41-p44 ==0,
      p41-p45 == 0,
      p4-p41 == 0,
      p5-p54 == 0,
      p5-p57 == 0,
      p6-p66 == 0,
      p6-p67 == 0
    },
        (* Initial Guesses  *)
             {m14,0.0125}, {m23,0.0106}, {m33,0.0233}, {m11,0.001},
        {m24,0.002}, {m21,0.003}, {m42,0.004}, {m31,0.005}, {m44,0.006},
         {m83,0.007}, {m51,0.008}, {m61,0.009}, {m64,0.01}, {m54,0.011},
        {m63,0.0103}, {m53,0.0186}, {v1,0.90},{v2,0.63},{v3,0.60},
        {v4,0.33},{v5,0.54},{v6,0.52}, {v7,0.22},{p1,14.},{p2,12.},
        {p3,10.},{p4,0.},{p41,0.1},{p42,0.2},{p43,0.3},{p44,0.4},
        {p45,0.5},{p46,0.6},{p5,-20.},{p54,-20.1},{p57,-20.2},{p6,-30.},
        {p66,-30.1},{p67,-30.2}
    ];

ColumnForm[results]

FindRoot::nlnum: The function value {-0.0029, -0.004092, 0.00162, -
0.027788, 0.0229, 0.00982, 0.00580905, <<28>>,
0.1, 0.2, 0.1, 0.2} is not a list of numbers with dimensions {39} at
{m14, m23, m33, m11, m24, m21, m42, m31, m44, m83, m51, m61, <<21>>,
p5, p54, p57, p6, p66, p67} =
{0.0125, 0.0106, 0.0233, 0.001, 0.002, 0.003, 0.004, 0.005, <<27>>, -
20.2, -30., -30.1, -30.2}. More..


  • Prev by Date: Re: Reading in a file
  • Next by Date: Iterated NDSolve. HELP.
  • Previous by thread: Re: GramSchmidt problem
  • Next by thread: Re: FindRoot::nlnum error message for non-linear system of equations