首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >将单元格转换为双精度

将单元格转换为双精度
EN

Stack Overflow用户
提问于 2012-07-17 23:38:27
回答 3查看 31.4K关注 0票数 9
代码语言:javascript
运行
复制
>> C = [{1} {2} ; {'@CF'} {2}] 
C = 

[  1]    [2]
'@CF'    [2]


>> whos C
  Name      Size            Bytes  Class    Attributes

  C         2x2               478  cell  

如何将C转换为double,以便:

代码语言:javascript
运行
复制
>> C
C = 
1    2
NaN  2

我试过str2double(C)。它返回:

代码语言:javascript
运行
复制
   NaN   NaN
   NaN   NaN
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2012-07-17 23:51:08

通过cellfun查询,使用isnumeric查找非数字值。将其与logical indexing一起使用来提取数值:

代码语言:javascript
运行
复制
C = [{1} {2} ; {'@CF'} {2}];
isnum = cellfun(@isnumeric,C);
result = NaN(size(C));
result(isnum) = [C{isnum}];
票数 7
EN

Stack Overflow用户

发布于 2012-07-17 23:47:00

代码语言:javascript
运行
复制
C = [{1} {2} ; {'@CF'} {2}]

C = 

    [  1]    [2]
    '@CF'    [2]

D = cellfun(@isnumeric,C);
C(~D)={nan}

C = 

    [  1]    [2]
    [NaN]    [2]

cell2mat(C)

ans =

     1     2
   NaN     2
票数 12
EN

Stack Overflow用户

发布于 2012-07-17 23:45:51

嗯,这里有混合的数据类型,所以没有一种非常直接的方法。

如果您知道数据在哪里,我能想到的最简单的方法就是简单地使用cell2mat

例如:cell2mat(C(1,1))将返回1作为双精度数。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11525996

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档