Convert a Cell of Strings to a Double in Matlab

♀尐吖头ヾ 提交于 2019-12-20 03:17:06

问题


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

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!