how to perform Many to one mapping
4 views (last 30 days)
Show older comments
Jyothi Alugolu
on 20 Mar 2017
Commented: Walter Roberson
on 27 Mar 2017
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
on 20 Mar 2017
k cannot be j mod 576 as this would produce zero indices. k could be ((j-1) mod 576)+1
Accepted Answer
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
on 27 Mar 2017
What you ask for is not possible. It is meaningless to apply fft to a many-to-one mapping.
More Answers (1)
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})
0 Comments
See Also
Categories
Find more on Cell Arrays 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!