Mathematica 9 is now available
Services & Resources / Wolfram Forums / MathGroup Archive
-----

MathGroup Archive 2013

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

Search the Archive

Re: How to speed up FindRoot with Map or MapThread

  • To: mathgroup at smc.vnet.net
  • Subject: [mg129357] Re: How to speed up FindRoot with Map or MapThread
  • From: Bob Hanlon <hanlonr357 at gmail.com>
  • Date: Mon, 7 Jan 2013 23:04:40 -0500 (EST)
  • Delivered-to: l-mathgroup@mail-archive0.wolfram.com
  • Delivered-to: l-mathgroup@wolfram.com
  • Delivered-to: mathgroup-newout@smc.vnet.net
  • Delivered-to: mathgroup-newsend@smc.vnet.net
  • References: <20130107053914.EAEB56924@smc.vnet.net>

h1 = Range[3];

phi1 = Range[0, Pi/4, Pi/8];

X = Table[2 Pi {n, n - 1/2, n + 1/2}, {n, 2}];

Flatten[
  Outer[{#1, #2, #3,
     FindRoot[
      Sin[2*theta] + 2*#1*Sin[theta - #2] == 0,
      {theta, Sequence @@ #3}]} &,
   h1, phi1, X, 1], 2] // Grid


Bob Hanlon


On Mon, Jan 7, 2013 at 12:39 AM,  <o.sandig at googlemail.com> wrote:
> Hi,
> I would like to speed up FindRoot.
> In this special case I'm looking for roots of the equation
>
> sin[2*theta]+2*h*sin[theta - phi]
>
> for different h's and phi's.
> To do this I specify for each h the region within which the solution has to be found: X = {x_middle, x_left, x_right}, e.g.:
>
> FindRoot[sin[2*theta] + 2*h1*sin[theta - phi1] == 0 , {theta, x_middle, x_left, x_right}]
>
> That means that h is an mx1 matrix and X is an nx3 matrix (X = {x_middle, x_left, x_right}).
>
> The question:
> How can I use Map or MapThread to combine each element of h with the whole matrix X inside FindRoot to speed it up?
>
> Thanks for any idea.
>



  • Prev by Date: Re: Attaching a notebook to a message
  • Next by Date: Mathematica GeoDistance function performance ...oo
  • Previous by thread: How to speed up FindRoot with Map or MapThread
  • Next by thread: Re: How to speed up FindRoot with Map or MapThread