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.
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.