How do I limit the repmat?

3 views (last 30 days)
Wesley
Wesley on 21 Mar 2013
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.

Accepted Answer

Sean de Wolski
Sean de Wolski on 21 Mar 2013
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));

More Answers (1)

Azzi Abdelmalek
Azzi Abdelmalek on 21 Mar 2013
Edited: Azzi Abdelmalek on 21 Mar 2013
x=[2,4,6,3]
y=repmat(x,1,2) % Duplicate horizontally twice
y=y(1:6)

Categories

Find more on Cell Arrays in Help Center and File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!