how can i change cell array to matrix
Mostrar comentarios más antiguos
I have excel mixed file and used [T,M,dat]=xlsread('Mol.xlsx')to import to matlab
dat= 'A' [12] [-20] [-75] [66] 'B' [9] [-10] [-50] [55] 'C' [15] [-25] [10 ] [45] 'D' [14] [-15] [5] [20]
I want to remove row if the value of column 3 is >= -15. so i used the following criteria, dat(dat(:,3)>=-15,:)=[] but i get the following error Undefined function or method 'ge' for input arguments of type 'cell'. how can i solve this problem?
Respuesta aceptada
Más respuestas (2)
Giorgos Papakonstantinou
el 16 de Mzo. de 2015
Editada: Giorgos Papakonstantinou
el 16 de Mzo. de 2015
You can do the following to find which values are >=-15 :
dat= {'A' [12] [-20] [-75] [66] 'B' [9] [-10] [-50] [55] 'C' [15] [-25] [10 ] [45] 'D' [14] [-15] [5] [20]};
dat(cellfun(@(x) x>=-15 & ~ischar(x), dat)) = [];
Of course the result will be again a cell.
However, the T output argument from xlsread will be be of class double so there will be no need to go through the cellfun command.
You can see this with a minimum example:
values = {'A' [12] [-20] [-75] [66] 'B' [9] [-10] [-50] [55] 'C' [15] [-25] [10] [45] 'D' [14] [-15] [5] [20]};
xlswrite('myExample.xlsx',values);
filename = 'myExample.xlsx';
[T,M,dat] = xlsread(filename)
Then:
T =
12 -20 -75 66 NaN 9 -10 -50 55 NaN 15 -25 10 45 NaN 14 -15 5 20
If you want simply to remove them:
T(>=-15) = [];
Abebe kebede
el 17 de Mzo. de 2015
0 votos
Categorías
Más información sobre Spreadsheets en Centro de ayuda y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!