How do I repeat elements individually in a row

3 views (last 30 days)
I have a matrix of several thousand rows each of which is 16 bits representing an integer. In order to simulate 3,1 error correction I have to replicate each bit 3 times. I am currently doing this using for loops, I have read about kron and repmat and they seem that they would be more efficient for this but I can't figure out how to use them properly to do it.
Small example
1111 becomes 111 111 111 111 (without spaces they are there for clarification)
0000 becomes 000 000 000 000
1010 becomes 111 000 111 000

Accepted Answer

Dina Irofti
Dina Irofti on 4 Mar 2014
a = [1 0 1 0] % or a = [1 1 1 1] or a = [0 0 0 0]
b = [1 1 1]
kron(a,b)
  1 Comment
Josh
Josh on 4 Mar 2014
That does the trick rather nicely. Thank you for the very quick answer.

Sign in to comment.

More Answers (0)

Categories

Find more on Operating on Diagonal Matrices 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!