Set same elements in a matrix to zero
Mostra commenti meno recenti
Hi,
I have a large matrix which has duplicate elements in neighborhood.
For example,
A = [0 0 0 01 1 0 0 0 2 2 2 0 0 0 5 5 5 5 5;
0 0 0 1 1 0 0 0 0 0 2 2 0 0 0 5 0 5 0 5;
0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 5 0 5 0]
I have to keep just a unique element in an arbitrary position. Could I use loop to solve this problem?
2 Commenti
Jan
il 25 Apr 2022
What is the wanted output for this example?
WEN SHIN LU
il 25 Apr 2022
Risposta accettata
Più risposte (1)
Something like this, perhaps?
A = [0 0 0 0 1 1 0 0 0 2 2 2 0 0 0 5 5 5 5 5;
0 0 0 1 1 0 0 0 0 0 2 2 0 0 0 5 0 5 0 5;
0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 5 0 5 0]
reg=regionprops(A~=0,'PixelIdxList');
B=zeros(size(A));
for i=1:numel(reg),
j=reg(i).PixelIdxList(1);
B(j)=A(j);
end
B
Categorie
Scopri di più su Creating and Concatenating Matrices in Centro assistenza e File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!