MathGroup Archive 2005

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

Search the Archive

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
> 
> 
> 


  • Prev by Date: Re: FindFit
  • Next by Date: Re: Re: Re: NSolve Vs. Elliptic Integral
  • Previous by thread: Re: Re: NSolve Vs. Elliptic Integral
  • Next by thread: Re: Re: Re: NSolve Vs. Elliptic Integral