求未知数。”
两人开始分工。沈思处理数据,陈青山思考数学模型。他先在草稿纸上画示意图:火箭在空中飞,受到四个力——向上推,向下重力,向后空气阻力,还有结构自身消耗能量的“内力”。
“结构阻尼怎么理解?”陈青山问。
“就像一根弹簧,你压它,它会弹回来,但不会完全回到原位置,会损失一点能量。火箭结构在振动时也会损失能量,这就是结构阻尼。碳纤维材料比较‘脆’,能量损失小,所以阻尼小。”
“那空气阻力呢?”
“简单说,就是空气不想让火箭通过,会推它。速度越快,推力越大,空气阻力就越大。但我们的火箭速度不高,阻力不会太大。”
陈青山在MATLAB里建了个简单模型。他把火箭想象成游戏里的一个角色:有“力量”(推力),有“重量”(质量),在“地图”(大气)里移动,受到“环境debuff”(空气阻力)。他要调整参数,让这个“角色”的移动轨迹和实测轨迹吻合。
“先假设只有空气阻力,”他设置参数,“看看模拟轨迹和实测差多少。”
运行程序。屏幕上跳出两条曲线:蓝色是实测高度变化,红色是模拟高度。前两秒两条线几乎重合,第三秒开始分离,模拟高度比实际高了一点。
“说明空气阻力不够大,”沈思说,“调大阻力参数。”
陈青山调整参数,重新运行。这次两条线在前三秒重合得更好了,但三秒后——发动机停机的瞬间——模拟曲线还是偏高。
“还有别的原因,”沈思指着曲线分离的点,“这时候推力没了,但火箭还在振动。振动会消耗能量,让火箭飞不高。这就是结构阻尼的影响。”
“那我们再加一个结构阻尼参数。”
模型变成这样:推力 - 重力 - 空气阻力 - 结构阻尼力 = 质量×加速度。其中结构阻尼力与振动速度成正比,比例系数就是结构阻尼系数。
现在有两个未知参数:空气阻力系数、结构阻尼系数。有两个方程:飞行前段(推力存在时)的轨迹匹配,飞行后段(推力消失后)的轨迹匹配。理论上可解。
陈青山写了个小程序,让MATLAB自动搜索最优参数组合。程序运行了几分钟,跳出结果:空气阻力系数0.129,结构阻尼系数0.02。
“验证一下,”沈思说,“用这两个参数重新模拟全程。”
新的模拟曲线与实测
本章未完,请点击下一页继续阅读!