将字符串转换为数字矩阵

问题描述:

我试图将不同长度的数字转换为数字矩阵。我是Matlab单元格的新手。如果这个问题很糟糕,我很抱歉。我做了功课,这是我的最后一招。将字符串转换为数字矩阵

x是我的字符串。我希望这些字符串转换为数字。有没有一种方法可以将单元格转换为矩阵而不需要强力迭代?我试过cell2mat但是Matlab吓坏了。我试过str2num,但是Matlab吓坏了。我搜索了“将字符串转换为数字矩阵”,但没有出现。

这里的细胞:

>>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 

你想str2double

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

返回

y = 

    1.000000000000000 
    12.000000000000000 
    3.140000000000000 

mat2cell没有工作的原因是因为你的数字串是不同的长度。并且str2num甚至不允许单元格输入。您也可以阅读str2num的帮助和文档,其他原因为什么str2double更好。

+0

太棒了!谢谢! –