小罗乘着他秘密制造的宇宙飞船来到了另一个未知的星球探索。在下飞船之前,小罗需要确认这个星球的重力加速度。
但是飞船上的加速度仪在着陆的时候受到撞击卡住了。
于是他打算使用一个重锤与打点计时器$(50Hz)$来测量重力加速度。将重锤放在高处,穿入纸带,开启打点计时器,然后使重锤落下。
取纸带与直尺对齐,以与重锤相同的位置为零点,每5个点读数(单位$cm$)。
现在来利用逐差法求出重力加速度的估计值,单位为 $ m/s^{2} $。
如图所示。
9个数据,为纸带的直接读数(图中的O、A、B、C……),精确到小数点后2位。
重力加速度的估计值,保留2位小数。
0.00 1.00 3.00 6.00 10.00 15.00 21.00 28.00 36.00
1.00
保留2位小数: c++中保留小数需要使用iomanip头文件。像这样
#include<iomanip>
输出一个数的时候这样,
double a;
cin>>a;
cout<<fixed<<setprecision(2)<<a<<endl;
这样即对a这个double数字保留了小数点后两位小数。
高中物理忘差不多的童鞋看这里:
首先用纸带的直接读数作差,算出每两个点之间的距离
$S_1,S_2, S_3,\dots, S_n$
然后代入方程
$S_j - S_i = (j-i) g_i t^2$
用后一半减前一半,
分别解出$g_1,g_2,\dots,g_{\lceil \frac{n}{2} \rceil}$,然后求平均值作为估计值
$$ g = \frac {\sum_{i = 0} ^ {\lceil \frac{n}{2} \rceil} g_i} {\lceil \frac{n}{2} \rceil}$$