Re: Re: Re: NSolve Vs. Elliptic Integral
- To: mathgroup at smc.vnet.net
- Subject: [mg62564] Re: [mg62532] Re: [mg62500] Re: [mg62471] NSolve Vs. Elliptic Integral
- From: Bob Hanlon <hanlonr at cox.net>
- Date: Mon, 28 Nov 2005 00:57:50 -0500 (EST)
- Reply-to: hanlonr at cox.net
- Sender: owner-wri-mathgroup at wolfram.com
NIntegrate[f[x, m], {x, ArcSin[0.003/Sin[m]], Pi/2}] taken by itself contains a
non-numeric (i.e., m in the integrand and the lower limit) and cannot be
numerically evaluated.
FindRoot provides various numeric values of m to the embedded NIntegrate.
Since the functions are periodic it is easy to obtain multiple solutions with
FindRoot. Evaluate the following:
Needs["Graphics`"];
Clear[f,g];
f[x_,m_]:=Sqrt[(1+0.176*Sin[m]^2*Sin[x]^2)*
(1+1.018*Sin[m]^2*Sin[x]^2)/(1-Sin[m]^2*Sin[x]^2)];
g[m_]:=0.159*Sqrt[1/(-9*10^(-6)+Sin[m]^2)];
Off[Plot::plnr];
k=3;
Plot[{NIntegrate[f[x,m],{x,ArcSin[0.003/Sin[m]],Pi/2}],g[m]},
{m,-1/2,k*Pi+1/2},PlotStyle->{Blue,Red},
Frame->True,Axes->False,ImageSize->432,
FrameTicks->{Automatic,Automatic,PiScale,Automatic},
PlotPoints->Ceiling[33k+9],
PlotRange->{-0.1,10.1}];
Off[NIntegrate::nlim];
soln=m/.FindRoot[
NIntegrate[f[x, m], {x, ArcSin[0.003/Sin[m]], Pi/2}] == g[m],
{m, #}]& /@ Flatten[Table[{-0.1, 0.1} + n*Pi, {n, 0, k}]]
Table[Partition[soln, 2][[n+1]] - n*Pi, {n, 0, k}]
Bob Hanlon
>
> From: Pratik Desai <pdesai1 at umbc.edu>
To: mathgroup at smc.vnet.net
> Date: 2005/11/27 Sun AM 02:40:09 EST
> Subject: [mg62564] [mg62532] Re: [mg62500] Re: [mg62471] NSolve Vs. Elliptic Integral
>
> Bob Hanlon wrote:
>
> >NSolve is intended primarily for polynomials (see Help browser). Use
> >FindRoot.
> >
> >Clear[f,g];
> >
> >f[x_,m_]:=Sqrt[(1+0.176*Sin[m]^2*Sin[x]^2)*
> > (1+1.018*Sin[m]^2*Sin[x]^2)/(1-Sin[m]^2*Sin[x]^2)];
> >
> >g[m_]:=0.159*Sqrt[1/(-9*10^(-6)+Sin[m]^2)];
> >
> >FindRoot[
> > NIntegrate[f[x,m],{x,ArcSin[0.003/Sin[m]],Pi/2}]==g[m],
> > {m,1}]
> >
> >{m -> 0.102762168294469}
> >
> >Plot[{NIntegrate[f[x,m],{x,ArcSin[0.003/Sin[m]],Pi/2}],g[m]},
> > {m,0.05,.15},PlotStyle->{Blue,Red},Frame->True,Axes->False];
> >
> >
> >Bob Hanlon
> >
> >
> >
> >>From: "nilaakash at gmail.com" <nilaakash at gmail.com>
To: mathgroup at smc.vnet.net
> >>
> >
> >>Date: 2005/11/25 Fri AM 02:25:24 EST
> >>Subject: [mg62564] [mg62532] [mg62500] [mg62471] NSolve Vs. Elliptic Integral
> >>
> >>Dear Friends,
> >> I am facing a problem to NSolve an Elliptic
> >>Integral like that.
> >>
> >>f[x_] := Sqrt[(1 +
> >> 0.176*Sin[m]^2*Sin[x]^2)*(1 + 1.018*Sin[m]^2*Sin[x]^2)/(1 -
> >> Sin[m]^2*Sin[x]^2)]
> >>
> >>g[m] = 0.159*Sqrt[1/(-9*10^(-6) + Sin[m]^2)];
> >>
> >>NSolve[NIntegrate[f[x], {x, ArcSin[0.003/Sin[m]], Pi/2}] == g[m], m]
> >>
> >>
> >>Here I want to get an "m" value such that integration value = g[m].
> >>
> >>This NSolve shows problem, please could any body tell me how to get
> >>exact m value.
> >>
> >>Thanks.
> >>
> >>nilaakash
> >>
> >>
> >>
> >>
> >
> >
> >
> Hi Bob,
>
> What version of Mathematica are you using?
> Because it gives me the result you reported but when I tried to just do
> the NIntegrate it does not evaluate. Maybe I am missing something??
> Is this a functionality of find root (if that is true, that is pretty
> interesting) or something else
>
> Please advise
>
> Pratik
>
> --
> Pratik Desai
> Graduate Student
> UMBC
> Department of Mechanical Engineering
> Phone: 410 455 8134
>
>
>