Mathematica 9 is now available
Services & Resources / Wolfram Forums
-----
 /
MathGroup Archive
2001
*January
*February
*March
*April
*May
*June
*July
*August
*September
*October
*November
*December
*Archive Index
*Ask about this page
*Print this page
*Give us feedback
*Sign up for the Wolfram Insider

MathGroup Archive 2001

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

Search the Archive

Re: lists w/o double brackets

  • To: mathgroup at smc.vnet.net
  • Subject: [mg31449] Re: [mg31436] lists w/o double brackets
  • From: BobHanlon at aol.com
  • Date: Wed, 7 Nov 2001 05:29:09 -0500 (EST)
  • Sender: owner-wri-mathgroup at wolfram.com

In a message dated 2001/11/5 4:52:18 AM, gbrennen at unm.edu writes:

>I am using the function FindRoot with a large number of simultaneous 
equations.
>
>   FindRoot[eqs,initialvals]
>
>I have a function for generating the equations which works fine as a list
>input in FindRoot, however I am having difficulty creating a function for
>generating initialvals that will be accepted by FindRoot.  The problem
>seems to be that FindRoot demands a format
>
>   FindRoot[{eq1,eq2,...,eqn},{var1,val1},{var2,val2},...,{varn,valn}]
>
>the variables and initial values of which must appear as a list without
>double brackets.  The function I have for generating the initial values
>always outputs the list as follows
>
>
>   Input
>       initialvals
>   Output
>       {{var1,val1},{var2,val2},...,{varn,valn}}.
>
>Note the double brackets which FindRoot will not accept.
>I have tried using
>
>  initialvals2=StringReplace[ToString[initialvals], {"{{" -> "{", "}}"
>->
>"}"}]
>
>which eliminates the double brackets, however FindRoot will not accept
>stings as input for the variables and upon converting back to an Expression
>using
>
>   ToExpression[initialvals2]
>
>the double brackets return.
>
>Is there a solution to this without having to manually cut and paste the
>output of my expression for initialvals without the double brackets into
>FindRoot?
>

Use Sequence and Evaluate

varVal = Table[
      {ToExpression["x"<>ToString[n]], 1}, 
      {n,3}];

FindRoot[
  {x1^2+x2^2+x3^2==29, 
    x1+x2==5, 
    x3-x2==1}, 
  Evaluate[Sequence @@ varVal]]

{x1->2., x2->3., x3->4.}


Bob Hanlon
Chantilly, VA  USA


  • Prev by Date: Re: Zero does not Equal Zero is a feature
  • Next by Date: Re: Fitting NormalDistribution to 2D List
  • Previous by thread: Re: lists w/o double brackets
  • Next by thread: Re: lists w/o double brackets