Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Codigo para Fourier
Codigo para Fourier
clc
syms t n
A=[-2 -1 1 2];
f=[-t-2 t -t+2];
f=sym(f);
T=max(A)-min(A);
wo=2*pi/(T);
Ao=0;
for i=1:length(f)
Ao=Ao+int(f(i),A(i),A(i+1));
end
Ao= simplify(Ao/T);
An=0;
for i=1:length(f)
An=An+int(f(i)*cos(n*wo*t),A(i),A(i+1));
end
An=simplify(2*An/T);
Bn=0;
for i=1:length(f)
Bn=Bn+int(f(i)*sin(n*wo*t),A(i),A(i+1));
end
Bn=simplify(2*Bn/T);
An=char(An);
Bn=char(Bn);
An=simplify(sym(strrep(char(An), 'sin(pi*n)','0')));
Bn=simplify(sym(strrep(char(Bn), 'sin(pi*n)','0')));
An=simplify(sym(strrep(char(An), 'cos(pi*n)','(-1)^n')));
Bn=simplify(sym(strrep(char(Bn), 'cos(pi*n)','(-1)^n')));
An=simplify(sym(strrep(char(An), 'sin(2*pi*n)','0')));
Bn=simplify(sym(strrep(char(Bn), 'sin(2*pi*n)','0')));
An=simplify(sym(strrep(char(An), 'cos(2*pi*n)','1')));
Bn=simplify(sym(strrep(char(Bn), 'cos(2*pi*n)','1')));
%Parte de la grafica
disp('Ao')
pretty(Ao)
disp('An')
pretty(An)
disp('Bn')
pretty(Bn)
h1(n)=An;
h2(n)=Bn;
armonicos=input('Ingrese cantidad de armonicos: ');
z=Ao;
t=-3/2*T:0.1:3/2*T;
for i=1:armonicos
z=z+h1(i)*cos(i*wo*t)+h2(i)*sin(i*wo*t);
end
plot(t,z,'r');