Matlab相关函数

时间:2011-02-07 15:18:47

标签: matlab correlation

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'是如何计算的? 另外,变量'comp'是什么,它会是什么样子,因为数组也包含它自己,另一个变量'sem'是从corr2函数计算出来的。 感谢

1 个答案:

答案 0 :(得分:2)

for loop创建一个循环变量n,第一个循环从1开始,每个连续循环递增1,直到达到num_letters。这意味着循环将执行num_letters次。

变量comp首先初始化为empty matrix []。在循环内,使用函数cell array在矩阵imgn和另一个矩阵templates{1,n}(从CORR2索引)之间计算2-D相关系数。相关系数sem使用horizontal concatenation附加到数组comp。这最终会导致comp成为1-by-num_letters相关系数数组。

变量vd存储数组索引,其中comp中的值等于comp中的最大值。这是使用函数MAXFIND以及comparison operator ==完成的。

将来,我建议您先使用online documentation尝试帮助您更好地理解MATLAB的工作原理。这是非常良好的文档。我从中学到了大部分知识。 ;)