Matlab - Encontrar Frecuencia usando fft

   
Vista:

Encontrar Frecuencia usando fft

Publicado por daniel (1 intervención) el 15/02/2017 09:53:51
Hola,
tengo una ecuacion diferencial ordinaria a mi haber,
primero calculo la Jacobian, y de eso encuentro los valores propios, los cuales son complejos
a+ki
a-ki
la ecuacion la resuelvo con ode45 o RK4
al encontrar la solucion, uso el ultimo vector que se encontro
quiero encontrar la frecuencia
usando fft de Fourier aplicada a la solucion
despues busco el punto maximo usando max
[~,freq]=max(sol,vectorf)
el resultado tendria q ser que k=2*pi*freq

ahora estoy teniendo un error q no logro entender, si alguien puede ayudar, seria de gran ayuda

este es el codigo:

1
2
3
4
5
6
7
8
9
10
11
12
e=4; a=1/e;             %----oscillations----
% e=3.5; a=0.8;           %----stable solution----
% syms a e              %----for symbolic eigenvalues----
J=[1 -1; e -a*e]; evs=eig(J)
 
syst=@(t,y)[y(1)-y(1)^3-y(2); e*(y(1)-a*y(2))];
v0=0.001; w0=0.01;
ic=[v0;w0]; dy=0.1; ymax=400; yax=dy:dy:ymax;
[t,y]=ode45(syst,yax,ic);
 
yf=fft(y);
 [~,freq]=max(yf)
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