9.3 误差分析与敏感性


9.3 误差分析与敏感性

本节摘要:弹道模型的每个输入都带着不确定度:初速有散布、密度测不准、Cd 表有误差。误差分析回答两个问题:输出散布多大(传播),哪个输入最该负责(敏感性)。本节用一次一因子与蒙特卡洛两种方法走完全流程,画出龙卷风图,并给出"精度预算"的分配框架。9.2 节的工具算出弹道,本节的工具评估弹道可信几分。

位置感:全册的误差数字(初速 ±1%、密度 ±10%、风 ±1 m/s)散落各章,本节把它们放进同一个模型里算总账——散布不是各项误差的简单相加,传播有放大也有抵消。

哪个输入在左右落点

先看两个常用方法的面孔。

一次一因子(OAT):基准工况算一遍,然后每次只把一个输入推到它的误差上限,记录输出的变化幅度——得到每个输入的"单独影响力"。它便宜、直观,产出就是工程汇报里常见的龙卷风图(横条按影响力排序,形如龙卷风)。盲区同样明确:因子间的交互作用(高温+满装药的联合超压)它看不见。

蒙特卡洛:给每个输入按其分布撒随机数(初速按正态、风按实测分布),成千上万次重复计算,落点散布直接统计出来。它天然包含交互作用与非线性,代价是计算量与"分布假设"——输入分布设错,输出的散布就是错的艺术品。

两个方法不是二选一:OAT 先做排序,蒙特卡洛后做定量——排序告诉你哪些输入值得精测,定量告诉你散布圆画多大。

动手:一张龙卷风图的诞生

以 800 米步枪弹道为例,把主要误差源挨个推到上限:

import math def impact_x(v0=850.0, crosswind=0.0, cd_scale=1.0, rho_scale=1.0, dist=800.0): """极简落点模型:纵向吃初速与阻力,横向吃风(滞后时间法)""" g, rho, d, m = 9.8, 1.225*rho_scale, 0.0057, 0.0095 A, Cd0 = math.pi*(d/2)**2, 0.24*cd_scale x = y = 0.0 vx, vy = v0*0.999, 0.0 # 近平射 dt = 0.001 t = 0.0 while x < dist: v = math.hypot(vx, vy) Fd = 0.5*rho*v*v*Cd0*A ax = -Fd/m*vx/v ay = -Fd/m*vy/v - g vx += ax*dt; vy += ay*dt x += vx*dt; y += vy*dt; t += dt # 横向:侧风按滞后时间平移 lag = t - dist/v0 return y, crosswind * lag cases = [ ("初速 +1%(约 8.5 m/s)", dict(v0=858.5)), ("阻力系数 +5%", dict(cd_scale=1.05)), ("空气密度 +5%(冷天)", dict(rho_scale=1.05)), ("侧风 2 m/s", dict(crosswind=2.0)), ] base_y, base_z = impact_x() print(f"基准:弹着高 {base_y:+.2f} m,横向 {base_z:+.2f} m") for name, kw in cases: y, z = impact_x(**kw) print(f"{name}: 纵向 {y-base_y:+.3f} m, 横向 {z-base_z:+.3f} m")

运行的典型结果(量级):初速 1% 的波动 → 纵向约 1.5% 落点变化(约 3-4 m 量级的弹着差,因为纵向吃的是"距离百分比");阻力 5% → 纵向 2-3 m;密度 5%(相当于海拔/温差波动)→ 1-2 m;侧风 2 m/s → 横向约 0.3-0.4 m。排序通常落在:风与初速居首,阻力形状次之,密度殿后——这张排序表就是精度预算的分配依据:想压散布,先买测风与初速雷达,再磨弹形,最后才轮到气象站。

图:误差影响力的龙卷风排序(示意量级)

图:误差影响力的龙卷风排序(示意量级)

精度预算:从排序到决策

敏感性分析的产出最终要落进决策。把"预算框架"写全:

  1. 列清单:所有会动的输入及其不确定度(实测或规范给定);
  2. 排序:OAT 跑出龙卷风图,找出长条;
  3. 压长条:对前两三名投资源(更好的测量、更严的操作纪律、更小的散布源);
  4. 复算:压完再跑一遍,看散布圆缩到目标没有——通常前两轮的性价比远高于后几轮;
  5. 留余量:最终精度声明=模型散布+模型误差+测量误差的合成,别把预算花到零余量。

第 6 章的"花钱次序"(气象免费→修正组件→全程制导)正是这套框架在工程经济上的投影——敏感性排序决定钱往哪花,闭环成本决定怎么花

常见坑

  • 把各误差源做算术相加求"总误差"。独立误差按平方和(RSS)合成,直接相加会高估散布、白花预算;相关误差(如密度与温度同源)才该按代数和走;
  • 蒙特卡洛的输入分布拍脑袋。初速按正态没问题(有实测),风按正态就有问题(有偏、有阵发)——分布假设是蒙特卡洛的地基,地基错则楼越高越假。

RSS 合成的一次实算

"平方和合成"值得亲手算一遍,看它与算术相加差多少:

三个独立误差源对某落点的单项贡献(已由 OAT 测得): 初速散布 → ±1.8 m 风估计误差 → ±1.2 m 弹道系数不确定 → ±0.6 m 算术相加:±3.6 m(悲观到离谱) RSS 合成:√(1.8² + 1.2² + 0.6²) = √(3.24+1.44+0.36) = √5.04 ≈ ±2.2 m

两者差出六成——按算术和做预算,你会为一个并不存在的"3.6 米散布"去追加昂贵的测量设备。再补一句反向提醒:RSS 只对独立误差成立。若初速散布与弹道系数偏差同源(同批弹的装药问题),它们相关,得按代数和或相关系数合成的路子走。拿到一组误差先问"独立吗",再决定用哪个公式——这句问话值一次错误的采购。

本节要点回顾

  • 两方法分工:OAT 排序(龙卷风图)+ 蒙特卡洛定量(散布圆),先排序后定量;
  • 典型排序:风与初速居首、阻力形状次之、密度殿后——精度预算照此分配;
  • RSS 合成:独立误差按平方和合成,算术相加是白花预算的开始;
  • 分布假设是地基:输入分布错,蒙特卡洛的散布就是精确的错误;
  • 预算框架五步:列清单→排序→压长条→复算→留余量,前两轮性价比最高。

算得出、评得准,本章还剩最后一块拼图:坦白这门学科尚未解决的问题——下一节把边界牌摊开。


作者与出处
原作者: 灏天文库
来源:灏天文库
整理: 灏天文库整理
由灏天文库平台收录,内容或由平台用户上传,仅供学习交流
发布者: 作者: 灏天文库 转发
评论区 (0)
U