Vectorizing this Operation

I have list of random permutations of length 3: [1 0 0], [0 1 0], [0 0 1], [1 1 0], ...
I have matrix of random values from 1 to 6 of size m by n. Where each value indexes a permutation.
I want to obtain the m by 3*n matrix where each index is replaced by its corresponding permutation. Advice?

回答(1 个)

It will look something like
reshape(perms(pidx(:),:).',size(pidx,2)*size(perms,2),[]).'
but I didn't bother testing it out to be sure it gets everything in the right place (it's my bedtime.)

此问题已关闭。

标签

提问:

2011-8-20

关闭:

2021-8-20

Community Treasure Hunt

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

Start Hunting!

Translated by