how to perform Many to one mapping

6 views (last 30 days)
hello,
i am having a bit string (say 'a') of size 756*1...and another bit string (say b) of size 576*1...now, i want many to one mapping to be performed on this bit string..
for example: the operation to be performed is shown below
b(k)= a(j) j=1....756, k= j mod 576...
  1 Comment
Guillaume
Guillaume on 20 Mar 2017
k cannot be j mod 576 as this would produce zero indices. k could be ((j-1) mod 576)+1

Sign in to comment.

Accepted Answer

Walter Roberson
Walter Roberson on 20 Mar 2017
Afterwards, should b(1) be assigned the value of a(1), or should it be assigned the value of a(577) ?
  17 Comments
Jyothi Alugolu
Jyothi Alugolu on 27 Mar 2017
Normally we have to apply FFT on binary string 'b' which is of double,but our generated binary string is of type cell..so,we used cell2mat function to convert input argument of type cell to double..but,there is a problem i.e., the cell with 2 values of generated binary string is being splitted (like if a cell(be 4) in 'b' has [0,1] values,then after using Cell2mat function the 4th cell is having 0 value and 5th cell is having 1 value)...but, i dont want these 2 values to be splitted...i want these 2 values to be within a cell to apply FFT..if it is not possible to apply FFT on this 'b' without using cell2mat function,can you please tell me how to overcome this problem...
Walter Roberson
Walter Roberson on 27 Mar 2017
What you ask for is not possible. It is meaningless to apply fft to a many-to-one mapping.

Sign in to comment.

More Answers (1)

Guillaume
Guillaume on 20 Mar 2017
Is this what you're after? (I'm unclear on the result you want to obtain)
a = randi([0 1], 756, 1); %random demo data
b = randi([0 1], 576, 1); %does the content of b matter?
b = accumarray(mod(0:numel(a)-1, numel(b))'+1, a, [], @(bits) {bits})

Community Treasure Hunt

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

Start Hunting!