Matlab - Distribucion de tiempo

   
Vista:

Distribucion de tiempo

Publicado por Patricia (11 intervenciones) el 27/04/2010 11:27:30
Hola,

Quiero calcular la distribucion de tiempo en un vector de unos y ceros. Es decir, quiero calcular el tiempo (o el numero de "0") que pasa entre cada "1".

Lo he intentado de esta forma, pero no me va bien (canal es mi vector):

canal=p(:,1);
tiempo=0;

for k=1:sum(canal) %bucle tan grande como numero de "1" haya en mi vector
for i=1:900
if canal(i)==0
tiempo=tiempo+1;
else
media(k)=tiempo;
tiempo=0;
end
end
end

Alguien me puede ayudar?

Muchas gracias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Distribucion de tiempo

Publicado por Jorge (226 intervenciones) el 30/04/2010 01:50:28
Puedes utilizar ' find ' para encontrar estratégicamente ciertos índices.
Este algoritmo cuenta el número de ceros entre unos.

v = [1 0 0 0 1 0 0 1 0 0 0 0 1]
d = find(v==1);
for i = 1 : length(d)-1
r(i) = d(i+1) - d(i) -1;
end
r

El resultado es [3 2 4]
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar