normxcorr2​により自己相関関数は​求まりますか?

5 vues (au cours des 30 derniers jours)
rin hayashi
rin hayashi le 8 Avr 2020
Commenté : rin hayashi le 15 Juil 2020
normxcorr2を使用して自己相関関数を求めております。
操作として、normxcorr2の引数2つに同一のデータを使用しました。
具体的なコードは下記の通りです。
A = eye(10,10);
A2 = normxcorr2(A,A);
本来、A2(10,10)は引数の差異が0であり1になるはずですが、1.000000000000001のように誤差が生じる結果となりました。
この原因として、normxcorr2の使用方法に誤りがあると推測しています。
実際、normxcorr2のヘルプセンターのページで、
「意味のある正規化をするには、引数2が引数1よりも大きくなければならない」
と記載されています。
以上の計算誤差が生じる具体的な原因が何であるのかご回答をいただきたいです。
よろしくお願いします。

Réponse acceptée

Etsuo Maeda
Etsuo Maeda le 13 Avr 2020
回答がついていないようなので
二次元相関係数をもとめるだけならcorr2でよいかとおもいます。
1.000000000000001 は浮動小数点数の誤差の累積ですね。
"意味のある正規化をするには、引数2が引数1よりも大きくなければならない" は正規化された相互相関係数をもとめるnormxcorr2において、templateよりもAが小さい場合何がおきるのか確かめてみてください。
以上、ご参考まで
  1 commentaire
rin hayashi
rin hayashi le 15 Juil 2020
ご回答いただきありがとうございます.
ご返信が遅れてしまい申し訳ありません.
>二次元相関係数をもとめるだけならcorr2でよいかとおもいます。
算出した二次元相関係数を基に比較を行うため,正規化を行おうとしておりました.
corr2も使用してみようと思います.
>1.000000000000001 は浮動小数点数の誤差の累積ですね。
累積誤差なのですね...二次元自己相関係数を求めるために同じデータを引数2と引数1に代入していたことが1.000000000000001 の原因かと考えていました.
>"意味のある正規化をするには、引数2が引数1よりも大きくなければならない" は正規化された相互相関係数>をもとめるnormxcorr2において、templateよりもAが小さい場合何がおきるのか確かめてみてください。
承知しました.確認してみようと思います.

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur Environment and Clutter dans Help Center et File Exchange

Tags

Produits

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!