How to replace elements in a integer vector with chars using a lookup table
6 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
Emilio Murcia Pacheco
am 23 Jan. 2020
Kommentiert: Emilio Murcia Pacheco
am 24 Jan. 2020
I have a vector of unsigned integer (A) Nx1 uint8 (N>50000) populated with values from 0 to 6.
On the other hand there is a lookup table (B) 7x2 table, like this:
STATE CODE
----- ----
'Str 1' 0
'Str 2' 1
... ...
'Str 7' 6
class(B.STATE) --> cell
class(B.CODE) --> double
Question: How can I obtain a vector of strings (C) with a size Nx1, with each element being the match in the lookup table?
Example: A(i) = 6 --> C(i) = 'Str 7'
Thanks for your support.
E.
0 Kommentare
Akzeptierte Antwort
Akira Agata
am 23 Jan. 2020
How about the following way?
% Sample data
A = randi([0 6],10,1);
B = table(compose('Str %d',1:7)',(0:6)',...
'VariableNames',{'STATE','CODE'});
% Create the output array
[~,loc] = ismember(A,B.CODE);
C = B.STATE(loc);
Weitere Antworten (0)
Siehe auch
Kategorien
Mehr zu Approximate Functions with Lookup Tables finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!