Estimate Acceleration of Gravity
The acceleration of gravity can be obtained by measuring a pendulum's period and its length
using
. The uncertainty in the average of five repeated measurements of the period is modeled with a BatesDistribution.
In[1]:=
![Click for copyable input](assets.en/estimate-acceleration-of-gravity/In_88.png)
\[Mu]T = Quantity[2, "Seconds"]; \[CapitalDelta]T =
Quantity[0.01, "Seconds"];
period\[ScriptCapitalD] =
BatesDistribution[
5, {\[Mu]T - \[CapitalDelta]T/2, \[Mu]T + \[CapitalDelta]T/2}]
Out[1]=
![](assets.en/estimate-acceleration-of-gravity/O_75.png)
The pendulum's length has been measured using a ruler with resolution of 1 mm, so its uncertainty is modeled with a UniformDistribution.
In[2]:=
![Click for copyable input](assets.en/estimate-acceleration-of-gravity/In_89.png)
\[Mu]len = Quantity[1, "Meters"]; \[CapitalDelta]len =
UnitConvert[Quantity[1, "mm"], "Meters"];
len\[ScriptCapitalD] =
UniformDistribution[{\[Mu]len - \[CapitalDelta]len/
2., \[Mu]len + \[CapitalDelta]len/2.}]
Out[2]=
![](assets.en/estimate-acceleration-of-gravity/O_76.png)
The uncertainty in the measurement of the acceleration of gravity.
In[3]:=
![Click for copyable input](assets.en/estimate-acceleration-of-gravity/In_90.png)
g\[ScriptCapitalD] =
TransformedDistribution[ (2 \[Pi])^2 len/T^2, {len \[Distributed]
len\[ScriptCapitalD], T \[Distributed] period\[ScriptCapitalD]}]
Out[3]=
![](assets.en/estimate-acceleration-of-gravity/O_77.png)
Compare to the linear approximation.
In[4]:=
![Click for copyable input](assets.en/estimate-acceleration-of-gravity/In_91.png)
lin[e_, {x_, x0_}, {y_, y0_}] :=
Block[{f = Function @@ {{x, y}, e}}, f[x0, y0] +
\!\(\*SuperscriptBox[\(f\),
TagBox[
RowBox[{"(",
RowBox[{"1", ",", "0"}], ")"}],
Derivative],
MultilineFunction->None]\)[x0, y0] (x - x0) +
\!\(\*SuperscriptBox[\(f\),
TagBox[
RowBox[{"(",
RowBox[{"0", ",", "1"}], ")"}],
Derivative],
MultilineFunction->None]\)[x0, y0] (y - y0)]
In[5]:=
![Click for copyable input](assets.en/estimate-acceleration-of-gravity/In_92.png)
lin\[ScriptCapitalD][\[ScriptCapitalD]_] :=
NormalDistribution[Mean[\[ScriptCapitalD]],
StandardDeviation[\[ScriptCapitalD]]]
In[6]:=
![Click for copyable input](assets.en/estimate-acceleration-of-gravity/In_93.png)
gApprox\[ScriptCapitalD] =
TransformedDistribution[
lin[(2 Pi)^2 len/
T^2, {len, \[Mu]len}, {T, \[Mu]T}], {len \[Distributed]
lin\[ScriptCapitalD][len\[ScriptCapitalD]],
T \[Distributed] lin\[ScriptCapitalD][period\[ScriptCapitalD]]}]
Out[6]=
![](assets.en/estimate-acceleration-of-gravity/O_78.png)
Compute the average acceleration using the exact and the linearized distributions.
In[7]:=
![Click for copyable input](assets.en/estimate-acceleration-of-gravity/In_94.png)
{\[Mu]g, \[Mu]gApprox} = {NExpectation[g,
g \[Distributed] g\[ScriptCapitalD]],
NExpectation[g, g \[Distributed] gApprox\[ScriptCapitalD]]}
Out[7]=
![](assets.en/estimate-acceleration-of-gravity/O_79.png)
Compute the scales of uncertainty.
In[8]:=
![Click for copyable input](assets.en/estimate-acceleration-of-gravity/In_95.png)
{\[Sigma]g, \[Sigma]gApprox} = {Sqrt[
NExpectation[(g - \[Mu]g)^2, g \[Distributed] g\[ScriptCapitalD]]],
StandardDeviation[gApprox\[ScriptCapitalD]]}
Out[8]=
![](assets.en/estimate-acceleration-of-gravity/O_80.png)
Find the sampling estimate of the 90% confidence interval for the measured acceleration.
In[9]:=
![Click for copyable input](assets.en/estimate-acceleration-of-gravity/In_96.png)
confidenceInterval =
Quantile[RandomVariate[g\[ScriptCapitalD], 10^6], {0.05, 0.95}]
Out[9]=
![](assets.en/estimate-acceleration-of-gravity/O_81.png)
In[10]:=
![Click for copyable input](assets.en/estimate-acceleration-of-gravity/In_97.png)
NProbability[First[confidenceInterval] < x < Last[confidenceInterval],
x \[Distributed] g\[ScriptCapitalD]]
Out[10]=
![](assets.en/estimate-acceleration-of-gravity/O_82.png)