There is a table in matlab, I want to know how to delete the entire row with zero values?
Many thanks in advance.

 Akzeptierte Antwort

the cyclist
the cyclist am 24 Mai 2021

0 Stimmen

If all of the table entries are numeric, then this will work:
% Create an example input table
x = [0; 1; 0; 2];
y = [0; 1; 0; 2];
z = [0; 0; 0; 0];
tbl = table(x,y,z)
tbl = 4×3 table
x y z _ _ _ 0 0 0 1 1 0 0 0 0 2 2 0
% Identify rows with all zeros, by first converting to numeric
rowsToDelete = all(table2array(tbl)==0,2);
% Delete the rows
tbl(rowsToDelete,:) = []
tbl = 2×3 table
x y z _ _ _ 1 1 0 2 2 0

Weitere Antworten (1)

Fangjun Jiang
Fangjun Jiang am 24 Mai 2021
Bearbeitet: Fangjun Jiang am 24 Mai 2021

0 Stimmen

a=[1 2 3;0 0 0 ; 1 0 2];
index=all(a==0,2);
a(index,:)=[];

Kategorien

Community Treasure Hunt

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

Start Hunting!

Translated by