|
这个问题本科的时候也疑惑了我好久,后来发现用“误差传播的方法”思考就可以很好的解决,如下:
为了简化起见,我们就说A和B两种测量,你有一些数据A1, A2, ... An, B1, B2, ... Bm,因为是相互独立的,可以轻松算出avg(A), std(A), avg(B), std(B)
可以把A的所有测量结果当作是由avg(A) + std(A)来产生的, 所有B的测量结果当作由 avg(B) + std(B)来产生的
假设你希望知道的一个X = A^2 + A * B
那么X = (avg(A) + std(A))^2 + (avg(A) + std(A)) * (avg(B) + std(B))
= avg(A) ^ 2 + 2 * avg(A) * std(A) + 2 * std(A)^2 + avg(A) * avg(B) + avg(A)*std(B) + std(A)*avg(B) + std(A) * std(B)
然后就是一个很重要的事情:把avg(Y) 当作Y 的zero order result, 然后std(Y) 就是first order result,std(Y)^2则是高阶项
这样的话呢,把X当作avg(X) + std(X),放入上面公式中,自然而然:
avg(X) = avg(A)^2 + avg(A) * avg(B)
std(X) = 2 * avg(A) * std(A) + avg(A) * std(B) + std(A) * avg(B)
剩下的高阶项时就可以忽略不计了
[谢谢悬赏论坛币~]
|