How to map decimal vector to look up table?

6 views (last 30 days)
Jyothi Alugolu on 9 Feb 2017
Edited: Jan on 9 Feb 2017
Hello,
i have decimal vector of size <1x203 double> with values 244,255,245,0,239,217...Now i have to create a lookup table of size <256x9>,where 256 row size is to map every decimal element to corresponding index value of look up table.. if suppose if the value in decimal vector is 244, then there should be mapping between decimal vector value 244 to index value 244 of lookup table... and if any decimal value repeats, then there should be mapping to the same index value of lookup table . and column size 9 is for, 1st bit must be the index value and the remaining 8 bits is for random equal number of 0's and 1's... can anyone help me how to do this?
Guillaume on 9 Feb 2017
Please give a short, concrete, example with numbers of inputs and desired output. Your explanation is far from clear.

Jan on 9 Feb 2017
Edited: Jan on 9 Feb 2017
Data = randi([0, 255], 1, 203); % Test data
LUT = [(0:255).', randi([0,1], 256, 8)];
Now the lookup table is used by simple indexing:
Result = LUT(Data, 4:7); % Get bits 3 to 6 from the binary data
Result = Result(:); % To get a 812x1 vector

Stephen on 9 Feb 2017
In MATLAB the most efficient way to do this is to simply use indexing:
>> V = randi([0,255],1,203);
>> idx = V==244; % logical indices
>> find(idx) % subscript indices
ans =
34 55 87