Re: Simple Eval Question
- To: mathgroup at smc.vnet.net
- Subject: [mg31889] Re: [mg31883] Simple Eval Question
- From: BobHanlon at aol.com
- Date: Mon, 10 Dec 2001 06:14:27 -0500 (EST)
- Sender: owner-wri-mathgroup at wolfram.com
In a message dated 12/9/01 6:50:44 AM, ivo.welch at anderson.ucla.edu writes:
>I have a simple problem. I want to numerically solve
>
> Solve[ Integrate[ f[x,p]*g[x], {x,0,Infinity}] == V , p ]
>
>where f[] and g[] are defined functions, but the naive solution fails.
>
>W=1; g=0.5; q=0.1; V=2;
>fd[x_]:= PDF[ LogNormalDistribution[0,1],x ] ;
>Solve[ Integrate[ ((W +(x-p)*q)^g)/g * fd[x], { x, 0, Infinity } ]== V,
>p ]
>
>Solve::"tdep": "The equations appear to involve the variables to be solved
>\
>for in an essentially non-algebraic way."
>
>The correct answer seems to be 1.5652 . How do I ask Mathematica to tell
>me
>this number?
>
>(My ultimate goal is to plot the solved p as a function of q.)
>
Solve is primarily for polynomials; use FindRoot.
Needs["Graphics`Colors`"];
Needs["Statistics`ContinuousDistributions`"];
Clear[fd, pe, q];
fd[x_]:=Evaluate[PDF[LogNormalDistribution[0,1], x]];
W=1; g=0.5; V=2;
pe[q_] := (p /.
FindRoot[Integrate[((W+(x-p)*q)^g)/g*fd[x],
{x, 0, Infinity}] == V,
{p, 1.64-0.901q+1.11q^2}]);
The starting value expression (quadratic estimate of p as a function of q) is
developed below.
pe[0.1]
1.56521
data = Table[{q, pe[q]}, {q, 0.02, 0.2, 0.02}];
quadEst[q_] := Evaluate[Fit[data,{1,q,q^2},q]];
Plot[quadEst[q], {q, 0.02, 0.2},
PlotStyle -> Blue,
Epilog -> {Red, AbsolutePointSize[4], Point /@ data}];
Bob Hanlon
Chantilly, VA USA