Plotting a function of an interpolated function
- To: mathgroup at smc.vnet.net
- Subject: [mg52925] Plotting a function of an interpolated function
- From: Adam Getchell <agetchell at physics.ucdavis.edu>
- Date: Fri, 17 Dec 2004 05:18:38 -0500 (EST)
- Sender: owner-wri-mathgroup at wolfram.com
I've solved a function using NDSolve, expressed it as a pure function,
and plotted it in the attached notebook. Now I'd like to define other
functions in terms of this pure function and plot them. I haven't seen
this come up in the archives, hence the post here.
If phi is my interpolating function and W is my newly defined function, ie:
In[291]:=
V = Function[x, (1/2)*m^2*
x^2];
\[Rho] = Function[x,
D[x, t]^2/2 + V[x]];
H = Function[x, Sqrt[
((8*Pi*G)/3)*\[Rho][x]]];
In[294]:=
V[\[Phi][t]]
Derivative[1][V][\[Phi][t]]
\[Rho][\[Phi][t]]
H[\[Phi][t]]
Out[294]=
(1/2)*m^2*\[Phi][t]^2
Out[295]=
m^2*\[Phi][t]
Out[296]=
(1/2)*m^2*\[Phi][t]^2 +
(1/2)*Derivative[1][\[Phi]][t]^
2
Out[297]=
2*Sqrt[(2*Pi)/3]*
Sqrt[G*((1/2)*m^2*
\[Phi][t]^2 + (1/2)*
Derivative[1][\[Phi]][t]^
2)]
In[298]:=
Inflaton = Derivative[2][\[Phi]][
t] + 3*H[\[Phi][t]]*
Derivative[1][\[Phi]][t] +
Derivative[1][V][\[Phi][t]]
Out[298]=
\[Phi][t]*m^2 + Derivative[2][
\[Phi]][t] + 2*Sqrt[6*Pi]*
Derivative[1][\[Phi]][t]*
Sqrt[G*((1/2)*m^2*
\[Phi][t]^2 + (1/2)*
Derivative[1][\[Phi]][t]^
2)]
In[299]:=
m = 10^16;
mp = 1.2211*10^19;
G = mp^(-2);
In[302]:=
\[Phi] = \[Phi][t] /. First[
NDSolve[{Inflaton == 0,
Derivative[1][\[Phi]][
0] == 0, \[Phi][0] ==
1}, \[Phi][t], {t, 0,
100/m}, MaxSteps ->
10^6]]
Out[302]=
InterpolatingFunction[][t]
In[303]:=
P = Function[x, D[x, t]^2/2 -
V[x]]
\[Rho]
W = Function[x, P[x]/\[Rho][x]]
\[Phi]
Out[303]=
Function[x, (1/2)*D[x, t]^2 -
V[x]]
Out[304]=
Function[x, (1/2)*D[x, t]^2 +
V[x]]
Out[305]=
Function[x, P[x]/\[Rho][x]]
Out[306]=
InterpolatingFunction[][t]
Then this doesn't work:
In[307]:=
TestPlot = Plot[W[\[Phi]],
{t, 0, 100/m}];
I've tried a symbolic solution to avoid the interpolating function, but
my workstation hasn't produced one yet.
I'm reading the Functions notebook from "Essential Mathematica for
Students of Science", but as far as I can tell I should be using pure
functions of the interpolating function.
Any pointers appreciated, as always. Thanks for help in the past,
especially Dr. Bob.
--Adam
- Follow-Ups:
- Re: Plotting a function of an interpolated function
- From: DrBob <drbob@bigfoot.com>
- Re: Plotting a function of an interpolated function