【问题标题】:Convert a Cell of Strings to a Double in Matlab在 Matlab 中将字符串单元格转换为双精度数
【发布时间】:2014-07-28 21:42:46
【问题描述】:

如何将单元格转换为以下内容:

>> A = [{'2'};{'2'};{'****'};{'23'};{'23.6'}]

A = 

    '2'
    '2'
    '****'
    '23'
    '23.6'  

作为Following的双倍

A =

    2.0000
    2.0000
       NaN
   23.0000
   23.6000

【问题讨论】:

    标签: matlab double cell


    【解决方案1】:

    在元胞数组的每个条目上使用函数str2double,如下所示:

    cellfun(@str2double, A)
    

    【讨论】:

      【解决方案2】:

      str2double 可以直接在字符串元胞数组上调用:

      >> X = str2double(A)
      X =
          2.0000
          2.0000
             NaN
         23.0000
         23.6000
      

      另外,用于定义元胞数组A 的符号可以简化一点:

      >> A = {'2'; '2'; '****'; '23'; '23.6'}
      A = 
          '2'
          '2'
          '****'
          '23'
          '23.6'
      

      不需要所有那些花括号:)

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2011-08-11
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多