Matlab - Segmentar un vector en Matlab

 
Vista:

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.
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
Imágen de perfil de JOSE JEREMIAS CABALLERO
Val: 6.975
Oro
Ha mantenido su posición en Matlab (en relación al último mes)
Gráfica de Matlab

Segmentar un vector en Matlab

Publicado por JOSE JEREMIAS CABALLERO (5917 intervenciones) el 27/07/2014 22:46:04
No se entiende tu pregunta.

Saludos.
JOSE JEREMÍAS CABALLERO
Asesoría online y Presencial en Matlab
programador en matlab
Servicios de programación matlab
[email protected]
Estimado Usuario de Matlab, el correo es para servicios de programación, toda ayuda gratuita es vía foro.


http://matlabcaballero.blogspot.com

http://www.lawebdelprogramador.com/foros/Matlab/1371532-FORMA_DE_APRENDER_MATLAB.html
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

Segmentar un vector en Matlab

Publicado por Victor (3 intervenciones) el 29/07/2014 02:00:34
Saludos Jeremías.
Lo que trato de hacer, es partir un vector fila en otros mas pequeños, que tengan las mismas dimensiones, es decir si por ejemplo tengo una vector de datos ch1 de dimensiones <37821x1 double>, lo que deseo hacer es seleccionar los datos que vayan de la posición 1 hasta 961 y otro de 961:1921 y así sucesivamente, deseo incrementos de 960 y que los guarde. La forma manual seria esta seg1=ch1(1:961,1); seg2=ch1(961:1921,1); seg3=ch1(1921:2881,1) lo que pasa es que no se puede hacer manual por que el numero de segmentos cambia por que las señales que voy a cargar son de diferentes dimensiones.
Espero me comprenda y muchas gracias por responder.
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
Imágen de perfil de JOSE JEREMIAS CABALLERO
Val: 6.975
Oro
Ha mantenido su posición en Matlab (en relación al último mes)
Gráfica de Matlab

Segmentar un vector en Matlab

Publicado por JOSE JEREMIAS CABALLERO (5917 intervenciones) el 29/07/2014 02:33:40
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
>> clear all
k=1;
A=rand(37821,1);
for i=1:960:length(A)
    if i+960<=length(A)
        B(:,k)=A(i:i+960)';
        k=k+1;
    end
end
whos
  Name          Size             Bytes  Class     Attributes

  A         37821x1             302568  double              
  B           961x39            299832  double              
  i             1x1                  8  double              
  k             1x1                  8  double    




Saludos.
JOSE JEREMÍAS CABALLERO
Asesoría online y Presencial en Matlab
programador en matlab
Servicios de programación matlab
[email protected]
Estimado Usuario de Matlab, el correo es para servicios de programación, toda ayuda gratuita es vía foro.


http://matlabcaballero.blogspot.com

http://www.lawebdelprogramador.com/foros/Matlab/1371532-FORMA_DE_APRENDER_MATLAB.html
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

Segmentar un vector en Matlab

Publicado por Victor (3 intervenciones) el 29/07/2014 16:32:25
Muchas gracias, era exactamente lo que necesitaba!
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