delete zeros from matrix
4 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
Maria K
am 23 Jul. 2020
Beantwortet: Bruno Luong
am 23 Jul. 2020
How do I delete all the columns that have zeros with a for loop? I tried reducing the number of columns by one in every iteration but matlab shows me "index exceeds matrix dimentions".
p4 = [0 0 31 37 43 47; 0 0 19 13 7 3];
grammes = size(p3,1);
sthles = size(p3,2);
for i = 1 : grammes
for j = 1 : sthles
if iszero(p3(i,j)) == 1
p3(:,j) = [];
sthles = sthles - 1
end
end
end
Akzeptierte Antwort
Bruno Luong
am 23 Jul. 2020
Here is how using FOR-LOOP to delete zero column(s)
A = [0 0 31 37 43 47;
0 0 19 13 7 3];
[m,n] = size(A);
for j = n:-1:1 % must loop reversing
deleteflag = true;
for i = 1 : m
if A(i,j) ~= 0
deleteflag = false;
end
end
if deleteflag % only true if the entire column #j contains 0s
A(:,j) = [];
end
end
0 Kommentare
Weitere Antworten (1)
Siehe auch
Kategorien
Mehr zu Numerical Integration and Differential Equations finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!