{ "cells": [ { "cell_type": "code", "execution_count": 3, "id": "f7103e0f-bcae-4297-b550-31fe911dffa1", "metadata": {}, "outputs": [], "source": [ "import matplotlib.pyplot as plt\n", "import numpy as np" ] }, { "cell_type": "code", "execution_count": 6, "id": "88baf7ed-203d-4960-b314-413828ce29b1", "metadata": {}, "outputs": [], "source": [ "def rectangle( x ): \n", " return np.abs(x) < 1/4\n", "\n", "def sum_to(upper, x):\n", " return 0 + sum( 0*np.cos(2*np.pi*n*x) + 0*np.sin(2*np.pi*n*x) for n in range(1, upper + 1) ) " ] }, { "cell_type": "code", "execution_count": 7, "id": "32ec6b94-fbb5-4994-8d96-e8b3d1900299", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 7, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "fig, ax = plt.subplots(1,1)\n", "x = np.linspace(-1, 1, 1000)\n", "for upper in [5, 10, 100]:\n", " ax.plot( x, rectangle(x) )\n", " ax.plot( x, sum_to(upper, x), label = f'$n = {upper}$' )\n", "ax.legend()" ] }, { "cell_type": "code", "execution_count": null, "id": "04a3eed4-827a-4df9-8ce1-5e80ff33c749", "metadata": {}, "outputs": [], "source": [] } ], "metadata": { "kernelspec": { "display_name": "Python 3 (ipykernel)", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.9.6" } }, "nbformat": 4, "nbformat_minor": 5 }