MATLAB and Simulink resources for Arduino, LEGO, and Raspberry Pi

Learn moreOpportunities for recent engineering grads.

Apply Today**New to MATLAB?**

Asked by BANI tita
on 14 Oct 2012

Hello, I have a matrix of the following form: [1,0,0,0;0,0,0,0;0,10,0,12;13,0,0,0], I need a mask that allows me to extract half of the data of each nonzero matrix of this form in this case for example I want the following result [1,0,0,0;0,0,0,0;0,10,0,0;0,0,0,0]

*No products are associated with this question.*

Answer by Matt J
on 14 Oct 2012

idx=find(A);

A(idx(2:2:end))=0;

Answer by Andrei Bobrov
on 14 Oct 2012

ii = 1:fix(nnz(A)/2); At = A'; jj = find(At); At(jj(fix(nnz(A)/2)+1:end)) = 0; out = At';

## 0 Comments