I have an m*n matrix which has only zeros and natural numbers. If there is a zero in a row, all the remaining elements after the first zero are also zeros. I would like to replace all zero elements with the last non zero element in the row. I am looking for the fastest way to do it in Matlab. Is there anyway without a loop? if not, what is the best way? Thanks.
For example:
A = [1 3 1 0 0 0 0; 1 4 2 1 3 4 1; 2 3 1 2 3 3 0];% and I would like to have
B = [1 3 1 1 1 1 1; 1 4 2 1 3 4 1; 2 3 1 2 3 3 3];
Best Answer