Keeping the rows in an array with specified numbers
2 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
I want to keep the part of the array with specified numbers in column 2. This deletes the rows in the array with the specified numbers in column 2, but how do I do the opposite (keep all rows where the numbers 5 or 6 are in column 2)?
numbersTokeep = [5,6];
A = magic(5);
for n = numbersToKeep
A((A(:,2) == n),:) = [];
end
0 Kommentare
Akzeptierte Antwort
Voss
am 2 Apr. 2022
numbersTokeep = [5,6];
A = magic(5);
disp(A);
% keep rows where column 2 is 5 or 6:
A = A(ismember(A(:,2),numbersTokeep),:);
disp(A);
A = magic(5);
% or, delete rows where column 2 is not 5 or 6:
A(~ismember(A(:,2),numbersTokeep),:) = [];
disp(A);
0 Kommentare
Weitere Antworten (0)
Siehe auch
Kategorien
Mehr zu Entering Commands 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!