问题
How do i convert a Cell as the following:
>> A = [{'2'};{'2'};{'****'};{'23'};{'23.6'}]
A =
'2'
'2'
'****'
'23'
'23.6'
To a double as the Following
A =
2.0000
2.0000
NaN
23.0000
23.6000
回答1:
str2double can be called directly on a cell array of strings:
>> X = str2double(A)
X =
2.0000
2.0000
NaN
23.0000
23.6000
On an unrelated note, the notation used to define the cell array A
can be simplified a bit:
>> A = {'2'; '2'; '****'; '23'; '23.6'}
A =
'2'
'2'
'****'
'23'
'23.6'
no need for all those curly brackets :)
回答2:
Use the function str2double
on each entry of the cell array like this:
cellfun(@str2double, A)
来源:https://stackoverflow.com/questions/24101835/convert-a-cell-of-strings-to-a-double-in-matlab