Borrar filtros
Borrar filtros

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

1 visualización (últimos 30 días)
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 5x1 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
  1 comentario
pfb
pfb el 15 de Abr. de 2015
not very clear. Your code forms a vector (or scalar) "list_val" from the vector (or scalar) "o_ue", which has length L.
Then it assigns "list_val" to the first L elements of one column of "list_val_table".
For this to work, I think "o_ue" should be a column of integers greater than one and less than the length of the matrix. Does "o_ue" contain the indices of the nonzero elements? Of "list_val_table" perhaps?
A lot of guesswork here
I fail to see the part with the zeros and ones, and the first element.
Also, where should be 1/5 stored?

Iniciar sesión para comentar.

Respuesta aceptada

Michael Haderlein
Michael Haderlein el 15 de Abr. de 2015
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);
  3 comentarios
ajk1
ajk1 el 15 de Abr. de 2015
Thank you, yes I wanted help with the fraction of nonzero elements but from Michael's response I have adjusted it to work with the rest of my program. Thank you for both of your help.
Michael Haderlein
Michael Haderlein el 16 de Abr. de 2015
Oops, looks like I haven't read your question too carefully. Anyway, good you could get the correct solution though. @pfb: You're right, the direction is not necessary, but I usually give it explicitly when applied on arrays of dimension > 1. It's just my preference.

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Más información sobre Loops and Conditional Statements en Help Center y File Exchange.

Etiquetas

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by