2011-02-07 16 views
0
function letter=read_char(imgn, num_letters) 

global templates 

comp=[ ]; 

for n=1:num_letters 

    sem=corr2(imgn, templates{1,n}); 

    comp=[comp sem]; 

end 

vd=find(comp==max(comp)); 

'FOR'ループの動作と 'vd'の計算方法について説明してください。 また、変数 'c​​omp'とは何ですか?また、配列自体も含まれていて、corr2関数から計算される別の変数 'sem'も含まれています。 Matlab相関関数

おかげ

答えて

2

for loopは、最初のループでは1から始まり、それがnum_lettersに達するまで連続する各ループに対して1だけインクリメントされるループ変数nを作成します。つまり、ループはnum_letters回実行されます。

変数compは、最初にempty matrix[]に初期化されます。ループ内で、CORR2関数を使用して、行列imgnと別の行列templates{1,n}cell arrayから索引付けされている)の間で2次元相関係数が計算されます。相関係数semhorizontal concatenationを使用して配列compに追加されます。これは、最終的に、相関係数の1つの配列であるcompをもたらす。

変数vdは、compの値がcompにある最大値と等しい配列インデックスを格納します。これは、関数MAXFINDcomparison operator==を使用して行われます。

今後、online documentationを使用して、MATLABの仕組みを理解しやすくすることをお勧めします。 非常にです。私はそれから私が知っていることのほとんどを学んだ。 ;)

+0

ありがとうございます。 – Joka