How to detect and delete similar value rows in Matlab?

1 view (last 30 days)
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

Categories

Find more on Get Started with MATLAB in Help Center and File Exchange

Products


Release

R2021a

Community Treasure Hunt

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

Start Hunting!