How do I calculate the proportion of 1s in Vector I at each time step and how to store this data in a vector?
2 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
KJones
el 9 de Oct. de 2016
Editada: Massimo Zanetti
el 9 de Oct. de 2016
How do I calculate the proportion of 1s(infected) in my vector I at each loop. Is there a way of storing this information? as when I increase my matrix to 100x100 it will be helpful to have the proportion at each loop outputted somewhere which is easy to read.
A=[1,1,0;1,1,1;0,1,1] %Network Matrix
I=[1;0;0] %Vector of Infected at i=0
for i=1:2 %Calculates those infected at i=1 and i=2
I=A*I %Network Matrix times vector at the different times
I>0 %True/False Check: 0=not infected, 1=infected
end
Thank you
0 comentarios
Respuesta aceptada
Massimo Zanetti
el 9 de Oct. de 2016
Editada: Massimo Zanetti
el 9 de Oct. de 2016
Given a vector of 1s and 0s, you can divide the number of 1s by the overall number of elements. The nnz function computes the number of non-zero elements in array, so:
I = [1,1,0,1,1,1,0,1,1] ;
n = numel(I);
proportion = nnz(I)/n;
0 comentarios
Más respuestas (0)
Ver también
Categorías
Más información sobre Operating on Diagonal Matrices en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!