一球从50米高度自由落下,每次落地后反跳回原高度的一半,再落下。求它在第5次落地时,共经过多少米?第5次反弹有多高?用MATLAB写程序
时间: 2023-10-20 20:34:19 浏览: 72
python 一球从100米高度自由落下,每次落地后反跳回原高度的一半;再落下,求它在第10次落地时,共经过多少米?反弹多高?
5星 · 资源好评率100%
根据题意,我们可以列出如下的计算公式:
第一次落地:50 米
第二次落地:50 + 50/2 * 2 米
第三次落地:50 + 50/2 * 2 + 50/2/2 * 2 米
第四次落地:50 + 50/2 * 2 + 50/2/2 * 2 + 50/2/2/2 * 2 米
第五次落地:50 + 50/2 * 2 + 50/2/2 * 2 + 50/2/2/2 * 2 + 50/2/2/2/2 * 2 米
可以发现,每一次落地后,球经过的距离是不变的,等比数列的公比为 1/2,首项为50,因此可以使用等比数列求和公式来计算:
S = a * (1 - q^n) / (1 - q)
其中 a 为首项,q 为公比,n 为项数。
根据公式,可以得到球在第5次落地时,总共经过的距离和第5次反弹的高度分别为:
总共经过的距离:50 * (1 + 2 + 2^2 + 2^3 + 2^4) = 300 米
第5次反弹的高度:50 / 2^5 = 1.5625 米
下面是使用 MATLAB 编写的程序:
```matlab
a = 50;
q = 1/2;
n = 5;
S = a * (1 - q^n) / (1 - q);
fprintf('第5次落地时,总共经过的距离为 %.2f 米\n', S);
h = a * q^(n+1);
fprintf('第5次反弹的高度为 %.4f 米\n', h);
```
程序输出:
```
第5次落地时,总共经过的距离为 300.00 米
第5次反弹的高度为 1.5625 米
```
阅读全文