我在MATLAB中使用xlsread從excel文件中讀取表單。我的目標是將Excel表格的每一列讀取爲數字數組。其中一列包含數字和數字+字符的組合。例如,該值可能是200,300A,450,500A,200A,100這裏是我到目前爲止有:將非均勻單元陣列轉換爲數值數組
[num, txt, raw] = xlsread(fileIn, sheets{ii}); % Reading in each sheet from a for loop
myCol = raw(:, 4) % I want all rows of column 4
for kk=1:numel(myCol)
if iscellstr(myCol(kk))
myCol(kk) = (cellfun(@(x)strrep(x, 'A', ''), myCol(kk), 'UniformOutput', false));
end
end
myCol = cell2mat(myCol);
這是能夠從數量剝去焦,但隨後我留下與
myCol =
[200]
'300'
[450]
'500'
'200'
[100]
,將其用cell2mat錯誤出來:
cell2mat(myCol)
???錯誤使用==> cell2mat at 46
輸入單元格數組的所有內容必須是相同的數據類型。
我覺得我可能在某處混淆了()和{}。有人可以幫我解決這個問題嗎?
變量'alt'是什麼?應該是'myCol'嗎? – gnovice 2011-12-22 19:28:01
哎呀抱歉。是的,應該是。我編輯它。 – Doomchinchilla 2011-12-22 19:36:48