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

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

채택된 답변

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

댓글을 달려면 로그인하십시오.

추가 답변 (0개)

태그

제품

Community Treasure Hunt

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

Start Hunting!