How can a 4 element array index pull stored string values?
4 views (last 30 days)
Show older comments
Akana Juliet
on 18 Jun 2021
Commented: Akana Juliet
on 18 Jun 2021
Hi all, I am new to MATLAB and I'm a bit stuck trying to figure out this part.
Let's say I have a 4 element vector [1x4 double] stored called "fourElementVector" (I have a function that changes these numbers a bit, situationally)
I also have a 256x1 cell "HexData" that stores a bunch of hexadecimal strings (ranging from 16bit to 128bit)
I'm trying to make the fourElementVector be the index and pull the values stored in HexData and store them as a string like:
[0B287 0B287 0B287 0B287] (just for an example. I don't want them converted)
The 4vector will always have a stored index numbers ranging from 1 - 256, and I have 256 hex codes, so it matches.
What do you think? How might I achieve this?
0 Comments
Accepted Answer
Scott MacKenzie
on 18 Jun 2021
Edited: Scott MacKenzie
on 18 Jun 2021
I think this is more or less what you are after. The output is generated both as a cell array and as a string vector.
% create random 16-bit hex values (as strings)
h = '0123456789abcdef'
idx = randi([1 16], 256, 4);
hexDataChar = h(idx);
% convert to 256x1 cell array of hex values
hexData = cellstr(hexDataChar);
% four element vector of indices
idx = randi([1 256], 1, 4);
% get four hex values from cell array
result1 = hexData(idx)
result2 = string(result1)
Output:
result1 =
4×1 cell array
{'b349'}
{'9cb2'}
{'cf42'}
{'1205'}
result2 =
4×1 string array
"b349"
"9cb2"
"cf42"
"1205"
More Answers (1)
the cyclist
on 18 Jun 2021
Can you upload examples of your variables fourElementVector and HexData, in a MAT file? This would be helpful.
But it seems from your description that
HexData{fourElementVector}
might do what you intend?
See Also
Categories
Find more on Logical 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!