function seriesfejerlanczos(func,p0,p1,num) funcion = str2func(func); close all; a0 = double(0); a0 = 1/(p1-p0) * quadl(funcion, p0, p1); a = repmat(double(0), [1 num]); b = repmat(double(0), [1 num]); w0 = 2*pi/(p1-p0); for n=1:num func_sin_nx = @(x) funcion(x).* ... sin(n*x*w0); func_cos_nx = @(x) funcion(x).* ... cos(n*x*w0); a(n) = quadl(func_cos_nx, p0, p1); b(n) = quadl(func_sin_nx, p0, p1); end a = 2*a/(p1-p0); b = 2*b/(p1-p0); % figure;stem(0:1:num,[a0 a]);xlabel('los a_k'); % pause; % figure;stem(1:1:num,b);xlabel('los b_k'); % pause; % Representacion grafica de la suma parcial n-esima de Fourier dt = 0.001.*(p1-p0); t = p0:dt:p1; M=max(funcion(t)); m=min(funcion(t)); s = a0.*ones(1,length(t)); for i = 1:num; s = s + b(i)*sin(i*t.*w0)+... a(i)*cos(i*t.*w0); M=max([M s]); m = min([m s]); end for i = 1:num; M=max([M b(i)*sin(i*t.*w0)+... a(i)*cos(i*t.*w0)]); m=min([m b(i)*sin(i*t.*w0)+... a(i)*cos(i*t.*w0)]); end M=M+0.1.*(p1-p0); m=m-0.1.*(p1-p0); s = a0.*ones(1,length(t)); f=s; figure;hold on; subplot(1,3,1);plot(t,funcion(t),'b'); axis([p0 p1 m M]); xlabel('Seņal x(t)');pause; subplot(1,3,2); hold on; plot(t,a0.*ones(1,length(t)),'g');axis([p0 p1 m M]); xlabel('Sumas parciales de Fejer');pause(0.2); for i = 1:num; f = f + ((num-i)/num)*(b(i)*sin(i*t.*w0)+... a(i)*cos(i*t.*w0)); plot(t,f,'g');axis([p0 p1 m M]); pause(0.2); end hold off; subplot(1,3,3); hold on; plot(t,a0.*ones(1,length(t)),'r'); axis([p0 p1 m M]); xlabel('Sumas parciales de Lanczos.'); pause(0.2); for i = 1:num; s = s + sin(i*pi/num)/(i*pi/num)*(b(i)*sin(i*t.*w0)+... a(i)*cos(i*t.*w0)); plot(t,s,'r');axis([p0 p1 m M]); pause(0.2); end hold off; hold off;pause; % s=s+a0; %figure(2); subplot(1,3,1);hold on; plot(t,funcion(t),'b'); plot(t,f,'g', t, s, 'r'); axis([p0 p1 m M]); xlabel('Seņal x(t) y sus aproximaciones Sigma_Nx(t), h_Nx(t)');