Está en la página 1de 3

PROCEDIMIENTO

Con el uso de la serie de Fourier


aproximamos el valor de una funcin, en este caso la
funcin triangular impar.
De Amplitud de 5 Vpp y periodo 20ms.
El codigo para MATLAB es el siguiente:
N=str2num(get(handles.text1,'string'));
t=-0.02:0.001:0.02;
sum=0;
for k=1:2:N;
b(k)=(8*(-1).^((k-1)/2))/(k.^2*pi.^2);
sum = sum +10*b(k)*sin(k*pi*t/0.02);
end;
axes(handles.axes1);
plot (t,sum,'b');

Donde el valor N est siendo llamado del
cuadro de texto como se muestra:



Figura 1

Se cre un cuadro para facilitar el ingreso
de los valores de N. El cdigo para el cuadro se
muestra a continuacin.

function varargout = BENJI1(varargin)

gui_Singleton = 1;
gui_State = struct('gui_Name', mfilename, ...
'gui_Singleton', gui_Singleton, ...
'gui_OpeningFcn',
@BENJI1_OpeningFcn, ...
'gui_OutputFcn', @BENJI1_OutputFcn,
...
'gui_LayoutFcn', [] , ...
'gui_Callback', []);
if nargin && ischar(varargin{1})
gui_State.gui_Callback = str2func(varargin{1});
end

if nargout
[varargout{1:nargout}] = gui_mainfcn(gui_State,
varargin{:});
else
gui_mainfcn(gui_State, varargin{:});
end

function BENJI1_OpeningFcn(hObject, eventdata,
handles, varargin)

handles.output = hObject;

guidata(hObject, handles);

function varargout = BENJI1_OutputFcn(hObject,
eventdata, handles)

function but1_Callback(hObject, eventdata, handles)

global N;
N=str2num(get(handles.text1,'string'));
t=-0.02:0.001:0.02;
sum=0;
for k=1:2:N;
b(k)=(4*(-1).^((k-1)/2))/(k.^2*pi.^2);
sum = sum +10*b(k)*sin(k*pi*t/0.02);
end;
axes(handles.axes1);
plot (t,sum,'b');
grid
title('Aproximacion por series de fourier');
function text1_Callback(hObject, eventdata, handles)
function text1_CreateFcn(hObject, eventdata,
handles)

if ispc && isequal(get(hObject,'BackgroundColor'),
get(0,'defaultUicontrolBackgroundColor'))
set(hObject,'BackgroundColor','white');
end
function axes2_CreateFcn(hObject, eventdata,
handles)
function but1_KeyPressFcn(hObject, eventdata,
handles)

Este cdigo es innecesario solo se us para
mayor facilidad en el trabajo.

Como se observa en la figura 1, la
aproximacin por serie de Fourier para N= 1 es decir
para 1 armnico todava se asemeja al valor de la
onda senoidal.

Tambin aadimos una funcin Triangular
exacta (que se observa en la segunda imagen de la
figura 1) para hacer las comparaciones. Considerando
ahora para N = 5, 20, 50 armnicos tenemos las
siguientes resultados.


Figura 2



Figura 3



Figura 4

Se puede observar que para cada valor
creciente de N la onda triangular aproximada se
asemeja a la real. Pero un valor especifico donde la
onda aproximada alcanza la amplitud deseada y se
aproxima de manera ms exacta es el valor de N=50.
Se puede decir entonces que para N=>50 se tiene una
buena aproximacin de un pulso triangular impar.

Otra forma de comparacin de las seales de forma
superpuesta:

Para n = 5









Para n= 20



Para n=50



Respuesta a las preguntas

c. Qu valor de N fue necesario para una buena
aproximacin del pulso?

Como se dijo antes para un valor mayor o
igual a 50 armnicos se tuvo una buena aproximacin
del pulso triangular pues para valores ms pequeos
todava se tena un margen de diferencia.

f. Logr cumplir los objetivos de la prctica?

S. Pudimos ver a travs de MATLAB las
aproximaciones de diferentes ondas ya sea por
nosotros mismos o en los trabajos de otros grupos.
Entendimos la importancia de la serie de Fouier al
aproximar las funciones.

También podría gustarte