MATLAB: Adjusting if loop to calculate probability for each column of dynamic array

if loop

Hi, I am trying to adjust this for loop such that for each column of the iteration that is stored in list_val_table it counts the number of non-zero elements in each column and divides it by the total number of elements in that column. For instance if after the first iteration the result is a 5×1 array with the first element 5 and the remaining four elements 0's then the value 1/5 is stored.
if length(o_ue)>0
list_val=val_set(o_ue)+length(o_ue);
list_val_table(1:numel(list_val),it_3)=list_val;
end

Best Answer

I cannot find a for loop in your code. Anyway, there's also no need for a loop, this can easily be vectorized.
num_of_zeros=sum(o_ue==0,1); %count the number of zeros in every column
frac_of_zeros=num_of_zeros/size(o_ue,1);