2013-07-17 111 views
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 

回答

1

你想str2double

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

返回

y = 

    1.000000000000000 
    12.000000000000000 
    3.140000000000000 

mat2cell沒有工作的原因是因爲你的數字串是不同的長度。並且str2num甚至不允許單元格輸入。您也可以閱讀str2num的幫助和文檔,其他原因爲什麼str2double更好。

+0

太棒了!謝謝! –