Skip to content

Instantly share code, notes, and snippets.

@nonZero
Created March 2, 2020 06:22
Show Gist options
  • Save nonZero/c93f712b523af6c6dc9924cf3554192c to your computer and use it in GitHub Desktop.
Save nonZero/c93f712b523af6c6dc9924cf3554192c to your computer and use it in GitHub Desktop.
Display the source blob
Display the rendered blob
Raw
{
"cells": [
{
"cell_type": "code",
"execution_count": 1,
"metadata": {},
"outputs": [],
"source": [
"%matplotlib inline\n",
"import numpy as np\n",
"from matplotlib import pyplot as plt"
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"[0. 0. 0. 1. 0. 0. 0.]\n",
"[0. 0. 0.25 0. 0.25 0. 0. ]\n"
]
},
{
"data": {
"image/png": "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uKCggLvvvpsFCxbwwgsv8Mgjj1BcXMzcuXNZvnx5b7LduXMnpaWlzJ49m/vuu++ouGbNmgVYvxDuuusuiouLmTNnDr/+9a8B6yao008/ncsuu4wZM2Zw9dVXY4zhF7/4Bfv37+eMM87gjDPOGPGfka5DV3Gro7uHyt11rFg8+YTHlRY6eXvbIbxeg8Oh69F58x44uCW47zluNpz/74Me9vnnn/PMM8/wyCOPcMUVV/Tu29La2sqmTZt47733uPHGG/n446N72r/88svs2rWLbdu2UVNTw8yZM7nxxht7n3c6nb37w3g8Hm655RYA7rvvPlauXMm3vvUt7rzzTr75zW9y3XXX8eCDD/Yb38qVK8nKymLdunV0dHSwdOlSzjnnHAA2btzI1q1bmTBhAkuXLuXDDz/kjjvu4IEHHuCdd94hNze33/ccCh2hq7i1aU8D7V3e3uWJAymb5qSxrYttB4K7B7gauqlTpzJv3jwAFi5cyK5duwBYscLaFPbUU0+lqamJhoaGo173wQcfcPnll+NwOBg3btxxo+Err7yy9+uPP/6YL37xi8yePZunnnqKrVu3AvDhhx/2nufaa6/tN763336bJ554gnnz5rFkyRI8Hg+ff/45AIsXLyY/Px+Hw8G8efN6Yw8mHaGruFXu9uAQWDJIQvevT69we5g18cSbPsWFAEbSodJ3K9yEhATa2toAjruTd6h39qanp/d+ff311/Pqq68yd+5cHnvssaP2jBnsfY0x/PKXv+x335ljY+/u7h5SjIHQEbqKWxVVVoLOGpV0wuPGZaVSmJfeu4GXijzPPfccYI3Es7KyjtttcenSpbz00kt4vV4OHTp0VJI+VnNzM+PHj6erq4unnnrqqPd49tlnAY56vK9zzz2Xhx56iK6uLgC2b9/OkSNHThh7RkYGzc3Ng37GQGhCV3GprbOHjXvqBy23+JUWOllT5aGrxxviyNRwpKamMn/+fL7xjW+wcuVKACorK7n55psBWL58Ofn5+RQVFXHNNdewYMGCAbfYvf/++1myZAlLly49alvdn//85zz44IPMnj2bffv6b5t88803U1RUxIIFC5g1axZf//rXBx2J33rrrZx33nlBuSiKMcaW/xYuXGiUsst722vMlLtfN+98eiig41//aL+ZcvfrZv3uuhBHFpm2bdtmdwgDOu2008y6desGPa65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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"f = np.array([0,0,0,1,0,0,0], dtype=float)\n",
"g = np.gradient(f) ** 2\n",
"print(f)\n",
"print(g)\n",
"plt.plot(f, label=\"signal\")\n",
"plt.plot(g, label=\"np.gradient\")\n",
"plt.legend();"
]
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3",
"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.8.1"
}
},
"nbformat": 4,
"nbformat_minor": 4
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment