How to detect and delete similar value rows in Matlab?

1 Ansicht (letzte 30 Tage)
Jelle Prins
Jelle Prins am 29 Sep. 2021
Beantwortet: Chunru am 29 Sep. 2021
Let's say I have an 4x4 matrix with values [1 to 4]:
[1 2 3 4;
1 3 4 2;
1 4 2 4;
1 3 2 2]
As you can see the first column contains 4 of the same values [1]. How can I detect rows/columns containing 4 of the same values and replace them by a value [0]?
Thanks in advance.

Antworten (1)

Chunru
Chunru am 29 Sep. 2021
A =[1 2 3 4;
1 3 4 2;
1 4 2 4;
1 3 2 2];
% For columns with the same values
i = find(all(diff(A, 1)==0, 1)); % 1 for 1st dimension; use 2 for 2nd dimension
A(:, i) =0
A = 4×4
0 2 3 4 0 3 4 2 0 4 2 4 0 3 2 2

Kategorien

Mehr zu Get Started with MATLAB finden Sie in Help Center und File Exchange

Produkte


Version

R2021a

Community Treasure Hunt

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

Start Hunting!

Translated by