星空下的薰衣草976 2021-12-06 19:46 采纳率: 83.3%
浏览 300
已结题

matlab弹跳球模型编程挑战

小球起始位置为10米,垂直向上的运动速度是15米每秒,在重力的作用下运动。当小球落地时会反弹,因碰撞导致能量损失,设小球撞击地面时,从地面弹起的速度和小球撞击地面的速度满足V弹起=-k*V落地,式中k=0.8称为反弹系数。
求:
(1)求小球第100次撞击地面时的时间和行驶的路程。
(2)求小球在任意时刻的位置,并绘图。
(3)求小球在任意时刻的速度,并绘图。

  • 写回答

1条回答 默认 最新

  • 技术专家团-Joel 2021-12-06 21:36
    关注

    你好,供参考:

    clc;clear
    % 
    h0 = 10;
    v0 = 15; 
    g=9.8;
    h0max = h0 + v0^2/(2*g);
    t1 = v0/g + sqrt(2*h0max/g);
    s1 = 2*h0max-h0;
    n = 100;
    t = zeros(1, n);
    hmax = zeros(1,n);
    s = zeros(1,n);
    t(1) = t1;
    hmax(1) = h0max;
    s(1) = s1;
    k = 0.8;
    tt = linspace(0, t1, 100);
    h = h0+v0*tt-1/2*g*tt.^2;
    v = v0 - g*tt;
    
    for i = 2:n
        hmax(i) = hmax(i-1)*k^2;
        vmax = sqrt(2*g*hmax(i));
        t(i) = t(i-1) + 2*sqrt(2*hmax(i)/g);
        s(i) = s(i-1) + 2*hmax(i); 
        et = linspace(0,t(i)-t(i-1),100);
        tt = [tt, t(i-1) + et];
        h = [h, vmax*et - 1/2*g*et.^2];
        v = [v, vmax - g*et];
    end
    figure(1);clf
    plot(tt,h); hold on; plot(tt,v)
    xlabel('时间t'); ylabel('位置和速度'); legend('位置','速度')
    fprintf('第%d次撞击时间t=%fs, 行驶路程s=%fm\n', n, t(n), s(n))
    
    

    img

    第100次撞击时间t=20.373935s, 行驶路程s=109.331066m

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 12月7日
  • 已采纳回答 12月7日
  • 创建了问题 12月6日

悬赏问题

  • ¥15 下图接收小电路,谁知道原理
  • ¥15 装 pytorch 的时候出了好多问题,遇到这种情况怎么处理?
  • ¥20 IOS游览器某宝手机网页版自动立即购买JavaScript脚本
  • ¥15 手机接入宽带网线,如何释放宽带全部速度
  • ¥30 关于#r语言#的问题:如何对R语言中mfgarch包中构建的garch-midas模型进行样本内长期波动率预测和样本外长期波动率预测
  • ¥15 ETLCloud 处理json多层级问题
  • ¥15 matlab中使用gurobi时报错
  • ¥15 这个主板怎么能扩出一两个sata口
  • ¥15 不是,这到底错哪儿了😭
  • ¥15 2020长安杯与连接网探