How do I create variable names from string variables
Show older comments
If I have 2 variables, ID has a column of strings like 'height' or 'speed', data has a column of corresponding variables.
ie
ID = 'height' 'height' 'height' 'speed' 'speed'
data = 10;10;7;2.4;2.1
How do I create the variable 'height' and a variable speed with the corresponding data.
ie
height = 10;10;7
speed = 2.4;2.1
Accepted Answer
More Answers (1)
Andrei Bobrov
on 13 Aug 2013
Edited: Andrei Bobrov
on 13 Aug 2013
ID = {'height' 'height' 'height' 'speed' 'speed'};
data = [10;10;7;2.4;2.1];
[i0,i1,i1] = unique(ID);
vars = cell2struct(accumarray(i1(:),data(:),[],@(x){x}),i0,1);
1 Comment
Matt Kindig
on 15 Aug 2013
I should have figured there was an easy way to do this using accumarray. Try as I might, I still can't get the hang of that function.
Categories
Find more on Structures in Help Center and File Exchange
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!