MATLAB: How to limit the repmat

modrepmat

I am trying to create a function to code or decode a message and was suggested that i use repmat and mod. I understand how the mod works but the repmat is confussing me. lets say my message is:
MATLAB
and the key is:
[2,4,6,3]
How would i get the key to become:
[2,4,6,3,2,4]
to change each of the letters in matlab? I realize that I need to use double to convert the text to numbers and char to convert the changed numbers back to text.
Any help would be Appreciated.

Best Answer

One way:
str = 'MATLAB'
key = [2,4,6,3];
%Replicate it to be slightly bigger and lop off the end.
keysz = repmat(key,1,ceil(numel(str)./numel(key)));
keysz = keysz(1:numel(str));