Re: FindRoot and parameters in NIntegrate
- To: mathgroup at smc.vnet.net
- Subject: [mg124511] Re: FindRoot and parameters in NIntegrate
- From: DrMajorBob <btreat1 at austin.rr.com>
- Date: Sun, 22 Jan 2012 07:22:55 -0500 (EST)
- Delivered-to: l-mathgroup@mail-archive0.wolfram.com
- References: <201201211018.FAA10170@smc.vnet.net>
- Reply-to: drmajorbob at yahoo.com
Here are two fixes: FindRoot[{1 + a + b, Integrate[a + b x, {x, 0, 1}]}, {{a, 0}, {b, 0}}] {a -> 1., b -> -2.} Clear[f] f[0., 0.] = 0.; f[a_?NumericQ, b_?NumericQ] := NIntegrate[a + b x, {x, 0, 1}] FindRoot[{1 + a + b, f[a, b]}, {{a, 0}, {b, 0}}] {a -> 1., b -> -2.} The first error message in your post results from FindRoot trying to evaluate NIntegrate[a + b x, {x, 0, 1}] before giving a and b numerical values. The second results from evaluating it with a == b == 0. The solutions above avoid both problems. Bobby On Sat, 21 Jan 2012 04:18:00 -0600, gac <g.crlsn at gmail.com> wrote: > I am using Mathematica 8 to solve for parameters in an integral and an > auxiliary equation. A prototypical problem is > > FindRoot[{1 + a + b , NIntegrate[a + b x, {x, 0, 1}]}, {{a, 0}, {b, 0}}] > > Mathematica reports the correct answer for the parameters a and b: > > {a -> 1., b -> -2.} > > But it also reports two error messages: > > NIntegrate::inumr: The integrand a+b x has evaluated to non-numerical > values for all sampling points in the region with boundaries {{0,1}}. >> > > NIntegrate::izero: Integral and error estimates are 0 on all integration > subregions. Try increasing the value of the MinRecursion option. If > value of integral may be 0, specify a finite value for the AccuracyGoal > option. >> > > I would appreciate any advice or comments on this problem or the error > messages. > > Thanks. > > gac > -- DrMajorBob at yahoo.com
- References:
- FindRoot and parameters in NIntegrate
- From: gac <g.crlsn@gmail.com>
- FindRoot and parameters in NIntegrate