How do I calculate the proportion of 1s in Vector I at each time step and how to store this data in a vector?

4 visualizzazioni (ultimi 30 giorni)
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

Risposta accettata

Massimo Zanetti
Massimo Zanetti il 9 Ott 2016
Modificato: Massimo Zanetti il 9 Ott 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;

Più risposte (0)

Categorie

Scopri di più su Particle & Nuclear Physics in Help Center e File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by