How can I convert a cell array with values {'S101' 'S102'},to a double array?

events = {'S100';'S102';'S103';'S101'}

3 Comments

What would be the expected results?
Are there any entries that do not begin with 'S' ?
A double array of what? The numbers [101, 102]? Or, perhaps the values stored inside the variables S101, S012, etc? Or maybe even the ascii representation of those characters. The point is, 'S101' is itself not a number. It is just a string of characters. In your eyes, it may represent something, but only you know the context of what you want to see.
@Walter expected result shoould be a double array with same entries, but i figured out if i eliminate 'S', it would work too.

Sign in to comment.

 Accepted Answer

Making some assumptions:
>> events = {'S100';'S102';'S103';'S101'};
>> str2double(strrep(events,'S','')) % easy
ans =
100
102
103
101
>> sscanf(sprintf('%s\v',events{:}),'S%d\v') % probably more efficient
ans =
100
102
103
101

More Answers (0)

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!