how to perform Many to one mapping

2 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
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!