Is it possible to convert a cell array into individual variables on workspace?
15 views (last 30 days)
Show older comments
I have a 4x2 cell array of names and their values. I am trying to save them as a separate variable on workspace so that i can use them in my code. Is it possible to convert them into individual arrays?
Example: My cell array is
>> y(:,1)={'force';'mass';'distance';'gravity';'Unit'};
>> y(:,2)={'10';'0.5';'5';'10','N'};
% Desired Output:
0 Comments
Answers (1)
Are Mjaavatten
on 9 Mar 2021
A better idea is to create a struct:
for i = 1:size(y,1)
s.(y{i,1}) = y{i,2};
end
2 Comments
Stephen23
on 9 Mar 2021
y = {'force';'mass';'distance';'gravity';'Unit'};
y(:,2) = {'10';'0.5';'5';'10';'N'};
either
S = cell2struct(y(:,2),y(:,1))
or
y = y.';
S = struct(y{:})
Steven Lord
on 9 Mar 2021
y = {'force';'mass';'distance';'gravity';'Unit'};
y(:,2) = {10;0.5;5;10;'N'};
T =cell2table(y(:, 2).', 'VariableNames', y(:, 1))
T.distance
T{1, 'gravity'}
You could also set the RowNames of the table so you can do things like:
T.Properties.RowNames = {'trial1'}
T{'trial1', 'force'}
See Also
Categories
Find more on Data Type Conversion 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!