is there a function in matlab that creates a binary repetition coder ?

for example when i enter a sequence 0010110 ;when n=3
the result will be 000000111000111111000

 Accepted Answer

s='0010110'
out=repmat(s,3,1)
out=out(:)'
%or
s=[0 0 1 0 1 1 0];
out=reshape(repmat(s,3,1),1,[])

7 Comments

thank you indeed .. but can you tell me what 1 refers to in (s,3,1) and then what is the other one and the []??
out=repmat(s,3,1) % will repeat s 3 times verticaly and once hrizontaly reshape(M,1,[]) reshape a matrix M to one line, [ ] means that matlab will determine the lentgh
okey Mr.Azzi thank you so much .
but when i want to decode what function should i use?
okey it worked .. thanx alot :)

Sign in to comment.

More Answers (1)

You did not say what is the class of 0010110, so I assume cell array.
r = {'0' '0' '1' '0' '1' '1' '0'};
n = 3;
reshape(repmat(r,n,1),1,n*numel(r))'
ans =
'0'
'0'
'0'
'0'
'0'
'0'
'1'
'1'
'1'
'0'
'0'
'0'
'1'
'1'
'1'
'1'
'1'
'1'
'0'
'0'
'0'
This is a cell. Now you can do with it any conversion you want.
--Nasser

2 Comments

it is a 1 by n matrix .. by the way can you help me with generating such an array of zeros and ones?? thanx alot
i mean such a matrix of 1 by n dimensions?

Sign in to comment.

Categories

Find more on MATLAB in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!