Matlab

2016-03-21 16 views
0

'daki sütun matrisinde yinelenen öğeleri 0 olarak değiştirme Matrisin sütununda yinelenen öğeleri 0'lar olarak değiştirmeniz ve tüm 0'ları olan satırları silmem gerekir. Eğer matrisim böyle olursa. Benim beklenen çıkışı buMatlab

Çıktı gibi olmalıdır

1  0  0  1  
0  1  0  1  
0  0  1  1  
1  1  1  1  

Girdi = =

1  0  0  1  
0  1  0  0  
0  0  1  0  
0  0  0  0 ---> this row should be get deleted in this case 

Bu

benim sorun için çalışmıyor

c = [ 1 1 0 1 0 1 1 1 0 1 1 0];  
[c, ic] = unique(a, 'first'); 
c(~ismember(1:length(a),ic)) = 0; 

cevap

2

Sen mantıksal indeksleme kullanabilirsiniz ve cumsum:

A = [1  0  0  1;  
     0  1  0  1;  
     0  0  1  1;  
     1  1  1  1]; 


ind   = cumsum(A); %cumulative sum (by column) 
A(ind>1)  = 0;   
A(sum(A')==0,:)=[]