MATLAB: How to take the non zero values from one matrix and put them in another?

matrixvalueszero

I have a matrix [640 640] with few non zero values and many zeros. I want to put all the non zero values in a new matrix. Something like:
for i=1:640
for j=1:640
if A(i,j)~=0
B(i,j)=A(i,j)
end
end
end
But this doesn't work.. Any suggestions?

Best Answer

B=A(A~=0);