How do I limit the repmat?

3 Ansichten (letzte 30 Tage)
Wesley
Wesley am 21 Mär. 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.

Akzeptierte Antwort

Sean de Wolski
Sean de Wolski am 21 Mär. 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));

Weitere Antworten (1)

Azzi Abdelmalek
Azzi Abdelmalek am 21 Mär. 2013
Bearbeitet: Azzi Abdelmalek am 21 Mär. 2013
x=[2,4,6,3]
y=repmat(x,1,2) % Duplicate horizontally twice
y=y(1:6)

Kategorien

Mehr zu Cell Arrays finden Sie in Help Center und File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by