我正在设计一个新的传感器,所以我有一个测量值矢量和一个真值矢量。为了表示错误,它只是measured - truth
。由于事实上存在很多变化,我想表示规范化的错误。我最初的想法是error./truth
来获得百分比误差,但在很多情况下我的真值是零!谁能想到一种更好的方法来表示规范化数据,同时避免被零除?我在Matlab工作,虽然问题也与语言无关。
PS,如果您觉得它更适合,可以随意将其推送到另一个stackexchange
答案 0 :(得分:0)
为每个向量尝试error = (measured-truth)/norm2(truth)
。
其中norm2()
是非常规的标准。
norm2(x) =SQRT( SUM( x[i]^2, i=1..N ) )
这只能失败,truth
的所有值都为零。您可以通过在标准中添加一个小的正数(如1e-12
)来缓解此问题,或者在标准小于阈值数时避免除法。
答案 1 :(得分:0)
我建议你将结果与零(或小于10e-6)真值向量和非零真值向量分开。你不能用同样的方法对待它(因为你不能规范化真值向量),你应该定义在这种情况下要做什么。
我不能建议你具体的东西,因为我不知道问题陈述,但你应该自己定义如何处理它。或者如果你在这里发布你的问题,我希望我们可以帮助你。