将字符串转换为数字矩阵
问题描述:
我试图将不同长度的数字转换为数字矩阵。我是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
更好。
太棒了!谢谢! –