function Count = ShiftedMatches(STR,i) % Count = ShiftedMatches(STR,i) % Inputs: STR a string of ciphertext in upper-case letters % i = a postive integer (horizontal shift parameter) % Output: Count = a nonnegative integer that will equal the number of exact % matches, when two copies of the ciphertext are written out with the % second copy shifted horizontally i characters to the right. By an exact % match, we mean that a certain ciphertext letter of the first list, has % the same ciphertext character directly below it in the second list. %We create two new vectors of length = length(STR) + i, %The first one (corresponding to the unshifted STR) has i 1's padded on the %right, the second (corresponding to the shifted STR) has i 0's padded on %the left. STRUnshift = [STR ones(1,i)]; STRShift = [zeros(1,i) STR]; Count = sum(STRUnshift==STRShift);