<SYSTEM_TASK:>
Given the following text description, write Python code to implement the functionality described below step by step
<END_TASK>
<USER_TASK:>
Description:
 Ejemplos de transformadas de Fourier
Step1:  Pulso cuadrado
Step2:  Definimos 1000 puntos en el intervalo $[-\pi,\pi]$
Step3:  Función Guassiana
Sea 
$$
f(x)
<ASSISTANT_TASK:>
Python Code:
%matplotlib inline
import numpy as np
import matplotlib.pyplot as plt
from ipywidgets import interact
plt.style.use('classic')
Explanation: Ejemplos de transformadas de Fourier:
En el presente notebook se han definido y graficado diversas funciones y sus correspondientes transformadas de Fourier.
End of explanation
def p(x,a):
    if abs(x)<a:
        return 1.
    else:
        return 0.
pulso = np.vectorize(p) #vectorizando la función pulso
Explanation: Pulso cuadrado:
Sea 
$$
f(x):=\left{
\begin{matrix}
1, &\rm{si}\quad |x|<a \\
0, &\rm{si}\quad|x|>a \
\end{matrix}\right. ,
$$
con transformada de Fourier
$$
{\cal F}f=2\frac{\sin(k a)}{k}.
$$
End of explanation
x = np.linspace(-10,10,1000)
k = np.linspace(-10,10,1000)
def p(a=1):
    plt.figure(figsize=(12,5))
    plt.subplot(1,2,1)
    #fig,ej=subplots(1,2,figsize=(14,5))
    plt.plot(x,pulso(x,a), lw = 2)
    plt.xlim(-10,10)
    plt.ylim(-.1,1.1)
    plt.grid(True)
    plt.xlabel(r'$x$',fontsize=15)
    plt.ylabel(r'$f(x)$',fontsize=15)
    plt.subplot(1,2,2)
    plt.plot(k,2*(np.sin(k*a)/k), lw = 2)
    plt.xlim(-10,10)
    plt.grid(True)
    plt.xlabel('$k$',fontsize=15)
    plt.ylabel('$\\tilde{f}(k)$',fontsize=15)
#p(5)
#plt.savefig('fig-transformada-Fourier-pulso-cuadrado.pdf')
interact(p, a=(1,10))
Explanation: Definimos 1000 puntos en el intervalo $[-\pi,\pi]$:
End of explanation
def gaussina(alpha=1):
    plt.figure(figsize=(12,5))
    plt.subplot(1,2,1)
    plt.plot(x,np.exp(-alpha*x**2), lw=2)
    plt.xlim(-3,3)
    plt.grid(True)
    plt.xlabel('$x$',fontsize=15)
    plt.ylabel('$f(x)$',fontsize=15)
    plt.subplot(1,2,2)
    plt.plot(k,np.sqrt(np.pi/alpha)*np.exp(-k**2/(4.*alpha)), lw=2)
    plt.xlim(-10,10)
    plt.ylim(0,2)
    plt.grid(True)
    plt.xlabel('$k$',fontsize=15)
    plt.ylabel('$\\tilde{f}(k)$',fontsize=15)
interact(gaussina, alpha=(1,50))
#gaussina(5)
#plt.savefig('fig-transformada-Fourier-gaussiana.pdf')
Explanation: Función Guassiana
Sea 
$$
f(x):=e^{-\alpha x^2}, \qquad \alpha>0,
$$
con transformada de Fourier
$$
{\cal F}f=\sqrt{\frac{\pi}{\alpha}}e^{-k^2/(4\alpha)}.
$$
End of explanation
<END_TASK>