1

我正在尝试将不同长度的数字单元格转换为数字矩阵。我是 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
4

1 回答 1

1

你想要str2double

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

返回

y = 

    1.000000000000000
   12.000000000000000
    3.140000000000000

mat2cell不起作用的原因是您的数字字符串的长度不同。str2num甚至不允许单元格输入。str2num出于其他原因,您也可能会阅读帮助和文档,为什么str2double无论如何更好。

于 2013-07-17T20:39:12.080 回答