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

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

3 个评论

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.

请先登录,再进行评论。

 采纳的回答

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

更多回答(0 个)

类别

帮助中心File Exchange 中查找有关 Data Type Conversion 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by