Estoy usando xlsread en MATLAB para leer en hojas de un archivo de Excel. Mi objetivo es que cada columna de la hoja de Excel se lea como una matriz numérica. Una de las columnas tiene una combinación de números y números + char. Por ejemplo, los valores podrían ser 200, 300A, 450, 500A, 200A, 100. esto es lo que tengo hasta ahora:Convertir matriz de celdas no uniforme en matriz numérica
[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);
Ésta es capaz de quitarse la carbonilla del número, pero entonces me quedo con
mycol =
[200]
'300'
[450]
'500'
'200'
[100]
que los errores hacia fuera en cell2mat con:
cell2mat (mycol)
??? Error al utilizar ==> cell2mat en 46
Todos los contenidos de la matriz de celdas de entrada deben ser del mismo tipo de datos.
Siento que probablemente estoy confundiendo() y {} en alguna parte. ¿Alguien me puede ayudar con esto?
¿Cuál es la variable 'alt'? ¿Debería ser 'myCol'? – gnovice
Whoops lo siento. Sí, debería ser. Lo edité – Doomchinchilla