normxcorr2により自己相関関数は求まりますか?
5 views (last 30 days)
Show older comments
normxcorr2を使用して自己相関関数を求めております。
操作として、normxcorr2の引数2つに同一のデータを使用しました。
具体的なコードは下記の通りです。
A = eye(10,10);
A2 = normxcorr2(A,A);
本来、A2(10,10)は引数の差異が0であり1になるはずですが、1.000000000000001のように誤差が生じる結果となりました。
この原因として、normxcorr2の使用方法に誤りがあると推測しています。
実際、normxcorr2のヘルプセンターのページで、
「意味のある正規化をするには、引数2が引数1よりも大きくなければならない」
と記載されています。
以上の計算誤差が生じる具体的な原因が何であるのかご回答をいただきたいです。
よろしくお願いします。
0 Comments
Accepted Answer
Etsuo Maeda
on 13 Apr 2020
回答がついていないようなので
二次元相関係数をもとめるだけならcorr2でよいかとおもいます。
1.000000000000001 は浮動小数点数の誤差の累積ですね。
"意味のある正規化をするには、引数2が引数1よりも大きくなければならない" は正規化された相互相関係数をもとめるnormxcorr2において、templateよりもAが小さい場合何がおきるのか確かめてみてください。
以上、ご参考まで
More Answers (0)
See Also
Categories
Find more on Environment and Clutter in Help Center and File Exchange
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!