jueves, 31 de octubre de 2013

Cómo cambiar la frecuencia de un vector

Hemos calculado la variable "y1" con una cierta frecuencia. Y conocemos el valor de "y1" en los instantes de tiempo definidos en otro vector "t1". Por ejemplo, en este caso, "t1" varía de 0.1 en 0.1, desde 0 hasta 10 segundos.

t1 = [0:0.1:10]';
y1 = sin(t1*2*3.1416/20);

Ahora, queremos seleccionar los datos de "y1", en otra frecuencia distinta, definida por los instantes de tiempo dados en el vector "t2". Por ejemplo, el siguiente:

t2 = linspace(1,9,7)';

Nota: La función linspace(x1,x2,n) genera n puntos equidistantes, entre x1 y x2. En este caso, "t2" son 7 puntos equidistantes, entre 1 y 9. Es decir, 1.00, 2.33, 3.67, 5.00, 6.33,  7.67, 9.00.

Para ello, bastaría usar las siguientes líneas:

y2 = resample(timeseries(y1,t1),t2);
y2 = y2.data;

Por último, representamos los valores de "y1" e "y2".

figure(1)
hold on
box on
plot(t1,y1,'-b')
plot(t2,y2,'or')

No hay comentarios: