Re: How to NSolve equation which involves NIntegrate?
- To: mathgroup at smc.vnet.net
- Subject: [mg120085] Re: How to NSolve equation which involves NIntegrate?
- From: DrMajorBob <btreat1 at austin.rr.com>
- Date: Fri, 8 Jul 2011 04:51:01 -0400 (EDT)
- References: <201106250929.FAA20235@smc.vnet.net>
- Reply-to: drmajorbob at yahoo.com
There are two solutions, by the way:
Clear[f, g, a]
f[a_] = Integrate[Sin[a x], {x, 0, 1}];
g[a_] = a*a;
Plot[{a^2, f[a]}, {a, -.1, .6}]
or
Clear[f, g]
f[a_?NumericQ] := NIntegrate[Sin[a x], {x, 0, 1}]
g[a_] := a*a
FindRoot[f[a] - g[a], {a, -.1}]
FindRoot[f[a] - g[a], {a, 1}]
{a -> 4.73799*10^-21}
{a -> 0.490073}
Bobby
On Thu, 07 Jul 2011 10:40:10 -0500, DrMajorBob <btreat1 at austin.rr.com>
wrote:
> Clear[f, g]
> f[a_?NumericQ] := NIntegrate[Sin[a x], {x, 0, 1}]
> g[a_] := a*a
> FindRoot[f[a] - g[a], {a, 1}]
>
> {a -> 0.490073}
>
> a) NumericQ eliminates the error you mentioned,
>
> b) NSolve is limited to algebraic problems, and
>
> c) I had to come up with a starting point for the search.
>
> (a) and (b) are related, in that NSolve wanted to keep a symbolic in
> solving the problem, but f[a] is undefined, when a is symbolic.
>
> Bobby
>
> On Thu, 07 Jul 2011 09:58:23 -0500, Ted Sariyski
> <tsariysk at craft-tech.com> wrote:
>
>> I am sorry, I should made up an example. Here it is:
>>
>> f[a_] := NIntegrate[Sin[a x], {x, 0, 1}]
>> g[a_] := a*a
>> NSolve[f[a] == g[a], a]
>>
>> Out[]: NIntegrate::inumr: "The integrand Sin[a x] has evaluated to
>> non-numerical values for all sampling points in the region with
>> boundaries {{0,1}}."
>>
>> Thanks,
>> --Ted
>>
>> On 7/7/2011 10:26 AM, DrMajorBob wrote:
>>> You left out the definition of h, so how can we possibly tell you why
>>> it evaluates to non-numerical values?
>>>
>>> Bobby
>>>
>>> On Thu, 07 Jul 2011 06:31:38 -0500, Ted Sariyski
>>> <tsariysk at craft-tech.com> wrote:
>>>
>>>> Hi,
>>>> I need a numerical solution for a system of equations which involve
>>>> numerical integrals. For one parameter the equation would be:
>>>>
>>>> f[a]==g[a]
>>>> where
>>>> f[a_]:=NIntegrate[h[x, a] , {x, x1, x2}]
>>>>
>>>> NSolve returns: "The integrand has evaluated to non-numerical
>>>> values".
>>>>
>>>> Is there a built-in procedures for this type of problems or I need to
>>>> make explicit iterations?
>>>>
>>>> Thanks in advance,
>>>> --Ted
>>>>
>>>>
>>>>
>>>>
>>>>
>>>
>>>
>>
>
>
--
DrMajorBob at yahoo.com