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.
>
- References:
- How to speed up FindRoot with Map or MapThread
- From: o.sandig@googlemail.com
- How to speed up FindRoot with Map or MapThread