How to detect and delete similar value rows in Matlab?

3 views (last 30 days)
Jelle Prins
Jelle Prins on 29 Sep 2021
Answered: Chunru on 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.

Answers (1)

Chunru
Chunru on 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

Products


Release

R2021a

Community Treasure Hunt

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

Start Hunting!