You forgot an imaginary unit in exponential function:
return np.cos(np.pi*u/w) * np.sin(alpha*u)*np.exp(2*np.pi*1j*x*u/(wavelength*f))
Now you can get a pretty figure
import matplotlib.pyplot as plt plt.imshow(I) plt.colorbar() plt.show()
difraction pattern