Re: Help Improving this integral calculation / solution
- To: mathgroup at smc.vnet.net
- Subject: [mg108090] Re: [mg108044] Help Improving this integral calculation / solution
- From: Bob Hanlon <hanlonr at cox.net>
- Date: Mon, 8 Mar 2010 06:12:54 -0500 (EST)
- Reply-to: hanlonr at cox.net
d = 7/10;
v = 5/100;
a = 1/10;
nk = (a + (1 - a) k v t)/(d + a + (1 - a) k v t) //
Simplify
(9*k*t + 20)/(9*k*t + 160)
pg[k_] = Exp[1 - k];
gavg = Integrate[k pg[k], {k, 1, Infinity}]
2
result = 1/gavg Integrate[nk k pg[k],
{k, 1, Infinity}, Assumptions -> 0 < t < 1]
(9*t*(9*t - 70) - 11200*
E^(160/(9*t) + 1)*ExpIntegralEi[
-1 - 160/(9*t)])/(81*t^2)
test = FullSimplify[result]
-((11200*E^(160/(9*t) + 1)*
ExpIntegralEi[-1 - 160/(9*t)])/
(81*t^2)) - 70/(9*t) + 1
root = FindRoot[test == t, {t, .1}]
{t -> 0.1420452943881465}
Plot[{t, test}, {t, 0, .3},
Epilog -> {Red, AbsolutePointSize[4],
Point[{t, t} /. root]}]
test - t /. root
-4.973799150320701*^-14
Bob Hanlon
---- DOD <dcodea at gmail.com> wrote:
=============
I have an integral I need to calculate, with one variable left
symbolic, and then use the result to find a numerical solution to an
equation, and the result of the integration is not giving me what I
need:
------
d = .7;
v = .05;
a = .1;
nk = (a + (1 - a) k v t)/(d + a + (1 - a) k v t);
pg[k_] = Exp[1-k];
gavg = Integrate[k pg[k], {k, 1, \[Infinity]}]; (* This is just 2 *)
result = 1/gavg Integrate[nk k pg[k], {k, 1, \[Infinity]},
Assumptions -> 0 < t < 1];
test = FullSimplify[result]
FindRoot[test == t, {t, .1}]
-----
This code always gives up and stays at the initial guess. So, I look
at the result of the integration, "result" (or it's simplified
version, test2) and calculated it for various values of t, and it is
always zero.
----
test/.t->{.1,.2,.3}
----
Output:{3.36999*10^66, 0., 0.}
-----
So that's a problem. If I set t=.3, say, and the beginning, and
calculate the integral, I get 0.160047, which is clearly not zero.
-----
d = .7;
v = .05;
a = .1;
t = .3;
nk = (a + (1 - a) k v t)/(d + a + (1 - a) k v t);
pg[k_] = Exp[1 - k];
gavg =Integrate[k pg[k], {k, 1, \[Infinity]}];(*This is just 2*)
result = 1/gavg Integrate[nk k pg[k], {k, 1, \[Infinity]}]
----
Output=0.160047
-----
So there is a problem in the Integrate step. So I want to find a
point where the output of that integral (result), as a function of t,
satisfies result=t. Is there anyway to do this using built-in
functions?