将字符串单元格转换为数字矩阵

时间:2013-07-17 20:35:08

标签: string matlab matrix numbers cells

我正在尝试将不同长度的数字单元格转换为数字矩阵。我是Matlab细胞的新手。如果这个问题很糟糕,我会提前道歉。我完成了我的作业,这是我的最后一招。

x是我的字符串单元格。我希望这些字符串转换为数字。有没有办法在没有暴力迭代的情况下将单元格转换为矩阵?

我试过cell2mat,但Matlab吓坏了。我试过str2num,但Matlab吓坏了。我用Google搜索“将字符串单元格转换为数字矩阵”,但没有任何结果。

这是细胞:

>>x 

x = 
'0'
'850'
'10483'
'16039'
'25670'
'31242'
'37009'
'41023'
'46798'
'51881'
'61491'
'67181'
'72941'
'76163'
'85759'
'96654'
'102439'
'104615'
'114224'

>>class(x)

ans =

cell

1 个答案:

答案 0 :(得分:1)

您想要str2double

x = {'1';'12';'3.14'};
y = str2double(x)

返回

y = 

    1.000000000000000
   12.000000000000000
    3.140000000000000

mat2cell不起作用的原因是因为您的数字字符串长度不同。 str2num甚至不允许细胞输入。您还可以阅读str2num的帮助和文档,了解str2double更好的其他原因。