0

私は新しいセンサーの設計に取り組んでいるので、測定値のベクトルと真理値のベクトルがあります。エラーを表すには、単にmeasured - truth. 真相にはばらつきがあるので、正規化された誤差を表現したいと思います。私の最初の考えはerror./truth、パーセント誤差を取得することでしたが、私の真偽値がゼロである場合がたくさんあります! ゼロ除算を回避しながら、正規化されたデータを表すより良い方法を考えられる人はいますか? 私はMatlabで作業していますが、質問は言語にとらわれません。

PS、それがより適していると思われる場合は、これを別のスタックエクスチェンジにプッシュしてください。

4

2 に答える 2

0

結果をゼロ (またはたとえば 10e-6 未満) の真理ベクトルと非ゼロの真理ベクトルで分離することをお勧めします。同じ方法でそれを処理することはできません (真理ベクトルを正規化できないため)。その場合の対処方法を定義する必要があります。
問題文がわからないので具体的な提案はできませんが、対処法は自分で定義してください。または、ここに問題を投稿していただければ、私たちがお手伝いできることを願っています。

于 2013-04-29T05:50:04.297 に答える
0

error = (measured-truth)/norm2(truth)ベクトルごとに試してみてください。

norm2()法外な規範はどこにありますか。

norm2(x) =SQRT( SUM( x[i]^2, i=1..N ) )

truthこれは、 のすべての値がゼロの場合にのみ失敗します。ノルムのように小さな正の数を追加する1e-12か、ノルムがしきい値よりも小さい場合に除算を回避することで、これを軽減できます。

于 2013-04-26T14:57:01.457 に答える