How to remove rows that contains other than decimal value in a column?

1 visualización (últimos 30 días)
Hi, in column 3 of table1 contains both decimal values and String values , i need to make the entire row as empty that contains other than decimal values. I am attaching sample code here.
d1= {'0.1';'0.2';'0.3';'0.4';'0.5'};
a1 = {'fix';'run';'debug';'continue';'break'};
b1 = {'70';'72';'70';'50';'C'};
c1 = {'DAC';'DAC';'DAC';'DAC';'DAC'};
table1=[d1,a1,b1,c1]
for i = 1:size(table1)
table1{i,3} =str2num( table1{i,3})
if table1{i,3}==[0]
table1{i,:}=[]
end
end
Please help me if anyone knows...
  1 comentario
Adam Danz
Adam Danz el 29 de Abr. de 2019
Actually, all of the elements of your table contain string values. Did you mean to convert the numeric-strings ( '70' ) to numeric ( 70 )?

Iniciar sesión para comentar.

Respuesta aceptada

Adam Danz
Adam Danz el 29 de Abr. de 2019
Editada: Adam Danz el 29 de Abr. de 2019
Replace rows of table1 that contain a number in string format in column 3 with empties:
isStr = isnan(str2double(table1(:,3)));
table1(isStr,:) = {[]};
If you want to convert the numeric-strings ( '70' ) to numeric ( 70 ),
isNum = ~isnan(str2double(table1));
table1(isNum) = num2cell(str2double(table1(isNum)));

Más respuestas (0)

Categorías

Más información sobre Characters and Strings en Help Center y File Exchange.

Etiquetas

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by