Converting Cell Arrays to Strings
2 views (last 30 days)
Show older comments
I am trying to convert a cell array to string. Got stuck in this.
[num_data,headers]=xlsread(Excel_file_name,Worksheet_name,range_select);
len_headers=max(size(headers));
for var=1:len_headers
var
dummy=headers(var)
eval(strcat(dummy,'=genvarname(headers{var});'));
eval(strcat(dummy,' = num_data(:,var);'));
end
Variable definitions:
But this is giving an error as eval() accepts only strings. dummy remains a 1x1 cell array and after using strcat, the final output of strcat also remains a cell array.
The problem is of converting a cell array to a pure string.
0 Comments
Accepted Answer
Jan
on 25 May 2012
Avoid eval(). There is a nicer, faster and more reliable method always.
[num_data, headers] = xlsread(Excel_file_name,Worksheet_name,range_select);
len_headers = length(headers); % Not MAX(SIZE())
for ivar = 1:len_headers % Do not shadow builtin function VAR
name = genvarname(headers{ivar});
Data.(name) = num_data(:,var);
end
More Answers (1)
See Also
Categories
Find more on Characters and Strings 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!