Matlab - usando plot

   
Vista:

usando plot

Publicado por JoseMG (13 intervenciones) el 02/09/2009 21:12:15
Buenas a tod@s, tengo una dudilla con la funcion plot, a ver si me podéis ayudar.
Tengo el siguiente código:

fft=abs(fft(y,n);
plot(f,fft);

El gráfico de plot(f,fft) es distinto (por que se representa en base a f) que si hago plot(fft), mi pregunta es... ¿Como puedo obtener el vector (aunque sea bidimensional) que estoy viendo con plot(f,fft)?

Muchisimas gracias de antemano!
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:usando plot

Publicado por fismat (391 intervenciones) el 02/09/2009 21:44:47
Hola Jose MG

Te recomiendo que uses otro nombre al momento calcular el valor absoluto de fft.

Podrías usar:

amp=abs(fft(y,n);

figure
subplot(21,1)
plot(f,amp);

subplot(21,2)
plot(amp)

En ambas figuras debes obtener la misma distribución de los espectros (si es un analisis de fourier).

Saludos
Fismat
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

RE:usando plot

Publicado por jose (13 intervenciones) el 03/09/2009 19:11:35
Muchas gracias Fismat por responder, he probado tu opción pero las gráficas salen distintas, los picos están en distintas frecuencias, y la gráfica que me vale es la de plot(f,amp) por eso preguntaba que como podía obtener en un vector la información de ese gráfico (plot(f,amp)).

Lo que estoy programando por si te facilita es el espectro en frecuencia de un archivo wav.
Aquí está el código completo:

function [f,wavfft] = espectro(file)

[y,fs]=wavread(file);
n=65535;
f=0:fs/(n-1):fs;
amp=abs(fft(y,n));
amp=amp/max(amp);

%Representamos:

figure
subplot(2,1,1);
plot(f,amp);
axis([0 1000 0 1]);
subplot(2,1,2);
plot(amp);
axis([0 1000 0 1]);

En un principio el vector amp me podría valer, pero ese vector representa la informacion de plot(amp) y no la de plot(f,amp) por eso no me vale.

Muchísimas gracias de antemano por la ayuda.
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