Segmentar un vector en Matlab
Publicado por Victor (3 intervenciones) el 26/07/2014 18:02:15
Saludos
Tengo una señal aleatoria en ch1 en Matlab que se obtuvo con cierta frecuencia( f), el vector tiempo (t) se obtiene a partir de ese periodo de muestreo:
[j k]= size(ch1);
f=480;
T=1/f;
t=0:T:(j-1)*T;
plot(t,ch1)
Lo que deseo hacer es encontrar cierto valor del vector tiempo, como por ejemplo los que son múltiplos de 2 que tengan modulo 0, y con estos encontrar la posición donde se encuentran y con estas posiciones crear segmentos de la señal ch1 que vayan de una posición a otra.
por ejemplo
t=[0.0 0.2 0.4 0.6 0.8 1.0 1.2 1.4 1.6 1.8 2.0 2.2 2.4 2.6 2.8 3.0 3.2 3.4 3.6 3.8 4.0]
ch1=[1.4 3.2 4.6 1.5 2.3 3.3 5.5 4.4 3.4 2.1 3.4 4.3 5.5 1.2 1.2 0.4 0.8 0.1 0.1 0.3 0.2]
Al aplicar el algoritmo obtener:
seg1= [1.4 3.2 4.6 1.5 2.3 3.3 5.5 4.4 3.4 2.1 3.4]
seg2= [3.4 4.3 5.5 1.2 1.2 0.4 0.8 0.1 0.1 0.3 0.2]
Espero me entiendan muchas gracias.
Tengo una señal aleatoria en ch1 en Matlab que se obtuvo con cierta frecuencia( f), el vector tiempo (t) se obtiene a partir de ese periodo de muestreo:
[j k]= size(ch1);
f=480;
T=1/f;
t=0:T:(j-1)*T;
plot(t,ch1)
Lo que deseo hacer es encontrar cierto valor del vector tiempo, como por ejemplo los que son múltiplos de 2 que tengan modulo 0, y con estos encontrar la posición donde se encuentran y con estas posiciones crear segmentos de la señal ch1 que vayan de una posición a otra.
por ejemplo
t=[0.0 0.2 0.4 0.6 0.8 1.0 1.2 1.4 1.6 1.8 2.0 2.2 2.4 2.6 2.8 3.0 3.2 3.4 3.6 3.8 4.0]
ch1=[1.4 3.2 4.6 1.5 2.3 3.3 5.5 4.4 3.4 2.1 3.4 4.3 5.5 1.2 1.2 0.4 0.8 0.1 0.1 0.3 0.2]
Al aplicar el algoritmo obtener:
seg1= [1.4 3.2 4.6 1.5 2.3 3.3 5.5 4.4 3.4 2.1 3.4]
seg2= [3.4 4.3 5.5 1.2 1.2 0.4 0.8 0.1 0.1 0.3 0.2]
Espero me entiendan muchas gracias.
Valora esta pregunta


0