Combining two or more elements of vectors into 1
3 views (last 30 days)
Show older comments
***This is for encoding of convolutional code***
I have the following vectors, all of them are 1x7 in size
p = 1 0 0 1 1 1 0
q = 1 1 0 1 0 0 1
r = 1 0 1 0 0 1 1
I want to make the following vector 1x7 in size
z = 111 010 001 110 100 101 011
Each element of z is the 3 bits of p,q,r of the same position as a whole bit. If I am not wrong, this is called multiplexing.
Can anyone help how to do it in MATLAB R2021a?
Thank you.
0 Comments
Answers (2)
Davide Masiello
on 7 Apr 2022
Edited: Davide Masiello
on 7 Apr 2022
The problem I see is that z cannot be an array of doubles, since 010 and 001 would be just 10 and 1 respectively. You could try and store the bits in a cell array.
clear,clc
p = [1 0 0 1 1 1 0];
q = [1 1 0 1 0 0 1];
r = [1 0 1 0 0 1 1];
z = [p;q;r];
z = mat2cell(z',ones(1,size(z,2)),3)'
0 Comments
See Also
Categories
Find more on Logical 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!