MATLAB: How to delete columns of a matrix that have fewer than 3 non-zero elements

matrix

Hello,
How can I delete columns of a matrix that have fewer than 3 non-zero elements? Thank you!

Best Answer

Hi, I'm sure this isn't the most efficient way:
x =[
5 0 1 4 1
3 0 0 2 1
1 0 2 2 4
4 3 0 2 3
4 2 0 1 3];
for nn =1:size(x,2)
numz(nn) = length(find(x(:,nn)==0));
end
x(:,numz>2) = [];