# Plotting derivative of function defined parametrically

So I have this equation from cosmology giving $H_0 t$ as a function of $a$:

$$\int_0^a \frac{da}{\left( \frac{\Omega_{\text{rad,0}}}{a^2} + \frac{\Omega_{\text{m,0}}}{a} +\Omega_{\Lambda\text{,0}} a^2\right)^{1/2}}=H_0 t$$ I can plot it on a log-log scale like this:

ParametricPlot[{Log10[NIntegrate[(or0/a^2 + om0/a + ol0 a^2)^(-1/2), {a, 0, a1}]], Log10[a1]},
{a1, 0, 10},
Exclusions -> None,
Frame -> True,
FrameLabel -> {"Log[H0 t]", "Log[a]"},
BaseStyle -> {FontSize -> 16},
PlotRange -> All,
FrameStyle -> Directive[Thick, Black],
FrameTicksStyle -> Directive[Thin, Black],
PlotStyle -> Black,
Axes -> False,
ImageSize -> Large]


which gives this nice plot after throwing out some errors that say

"NIntegrate::nlim: a = a1 is not a valid limit of integration.":

I want to plot the log of the derivative of $a$ with respect to $t$, $\log\dot{a}$, versus $\log(H_0 t)$. How can I do this?? I've tried several things but none of them seem close to the best way and I can't get it to work. Thanks!

• Could you include the numeric values for or0, om0, and ol0? It would make testing easier. Apr 29, 2017 at 2:08
• yeah sure: they are or0=9*^-5, om0=0.31, ol0=0.69-(9*^-5) (so they add up to 1). Also H0 is 2.20373*10^-18 per second if that helps. Thanks for your help!!
– Ern
Apr 29, 2017 at 2:11

Starting with $H_0 t = \int_0^a f(x)dx$, we take the derivative w.r.t. time, apply the chain rule and the Leibniz integral rule to obtain $$H_0 = \frac{d}{dt} \int_0^a f(x)dx = \frac{da}{dt} \frac{d}{da} \int_0^a f(x)dx = \dot{a} f(a) \;.$$ So, $\dot{a} = H_0/f(a)\;$. Now in MMA we can follow your previous work and obtain

    ClearAll["Global*"]
{Ωr, Ωm, ΩΛ, h0} =
{9.0 10^-5, 0.31, .69 - Ωr, 2.20373 10^-18};
f[a_] := 1/Sqrt[Ωr/a^2 + Ωm/a + ΩΛ a^2]

"Log[\!$$\*OverscriptBox[\(a$$, $$•$$]\)]"},
`