{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# 1D Fourier-sor\n", "\n", "Valamely folytonos periódusos $f(t)$ függvény trigonometrikus alaprendszer szerinti $N$-edrendű közelítése komplex együtthatókkal felírva\n", "\n", "$$f_N(t)=\\sum_{n=-N}^{N} c_n e^{i n \\omega_0 t}$$\n", "\n", "ahol a Fourier együtthatók\n", "\n", "$$c_n = \\frac{1}{T} \\int_{t_0}^{t_0+T} f(t) e^{-i n \\omega_0 t}$$\n", "\n", "egy teljes $T$ periódusra történő integrálással határozhatók meg. Az összefüggésben $\\omega_0$ az alapfrekvenciát jelöli ($\\omega_0 = \\frac{2 \\pi}{T}$).\n", "\n", "Ezeket a következő, [SymPy](http://www.sympy.org) szimbolikus algebrai számításokra kifejlesztett Python könyvtárat használó függvényekkel definiálhatjuk:" ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [], "source": [ "import sympy\n", "sympy.init_printing()\n", "%matplotlib inline\n", "\n", "i2pi = sympy.I*2*sympy.pi\n", "exp = sympy.exp\n", "\n", "def fN(N):\n", " return sum(c(n)*exp(i2pi*n*t/T) for n in range(-N, N+1)).expand(complex=True).simplify()\n", "\n", "def c(n):\n", " return (sympy.integrate(\n", " f(t)*exp((-i2pi * n * t)/T), \n", " (t, t0, t0 + T))/T)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Fűrészfog\n", "\n", "Példaként határozzuk meg a 'fűrészfog' függvény 1D Fourier-sorát.\n", "\n", "Definiáljuk az `f(t)` függvényt és a periódusát" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [], "source": [ "def f(t):\n", " return t\n", "\n", "T = 20\n", "t0 = 0\n", "\n", "t = sympy.Symbol('t', real=True)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Írjuk fel a Fourier-sorát $N=6$-ig" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/latex": [ "$$- \\frac{20}{\\pi} \\sin{\\left (\\frac{\\pi t}{10} \\right )} - \\frac{10}{\\pi} \\sin{\\left (\\frac{\\pi t}{5} \\right )} - \\frac{20}{3 \\pi} \\sin{\\left (\\frac{3 \\pi}{10} t \\right )} - \\frac{5}{\\pi} \\sin{\\left (\\frac{2 \\pi}{5} t \\right )} - \\frac{4}{\\pi} \\sin{\\left (\\frac{\\pi t}{2} \\right )} - \\frac{10}{3 \\pi} \\sin{\\left (\\frac{3 \\pi}{5} t \\right )} + 10$$" ], "text/plain": [ " ⎛π⋅t⎞ ⎛π⋅t⎞ ⎛3⋅π⋅t⎞ ⎛2⋅π⋅t⎞ ⎛π⋅t⎞ \n", " 20⋅sin⎜───⎟ 10⋅sin⎜───⎟ 20⋅sin⎜─────⎟ 5⋅sin⎜─────⎟ 4⋅sin⎜───⎟ 10⋅s\n", " ⎝ 10⎠ ⎝ 5 ⎠ ⎝ 10 ⎠ ⎝ 5 ⎠ ⎝ 2 ⎠ \n", "- ─────────── - ─────────── - ───────────── - ──────────── - ────────── - ────\n", " π π 3⋅π π π \n", "\n", " ⎛3⋅π⋅t⎞ \n", "in⎜─────⎟ \n", " ⎝ 5 ⎠ \n", "───────── + 10\n", " 3⋅π " ] }, "execution_count": 3, "metadata": {}, "output_type": "execute_result" } ], "source": [ "N = 6\n", "\n", "analytic_approx = fN(N).expand()\n", "analytic_approx" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "A függvényt csak $y=t$ formában definiáltuk, mert a Fourier-sorfejtés mindig periódusos függvényt elemez. Láthatjuk azt, hogyan közelítette a függvényt a megadott $T$ perióduson, ha felrajzoljuk a közelítést nagyobb $t$ intervallumra." ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "interval = (t, t0-T, t0+2*T)\n", "p1 = sympy.plot(f(t), interval, show=False)\n", "p2 = sympy.plot(analytic_approx, interval, show=False)\n", "p2[0].line_color = 'red'\n", "p1.extend(p2)\n", "p1.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "A szimbolikus megoldás helyett a numerikusan egyenértékű közelítő megoldást is előállíthatjuk a SymPy `mpmath` moduljával." ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAYoAAAEKCAYAAAAMzhLIAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDMuMC4yLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvOIA7rQAAIABJREFUeJzt3XmczdUfx/HXMWMYZBdCVIy1khCRaLNUtKmkTaJSqZRSKIqktCctkkqKkhYtWn6UJIUsIUtSZC0ZhjHMzPn9ce7MvXfMXGPcdeb9fDzuw3e79/txXfdzz26stYiIiOSlWKQDEBGR6KZEISIiASlRiIhIQEoUIiISkBKFiIgEpEQhIiIBKVGIiEhAShQiIhKQEoWIiAQUH+kA8qN8+fK2bt26kQ7jkPbs2UPp0qUjHcYhKc7giYUYQXEGW6zEuXDhwn+stVWO9HViIlFUrVqVBQsWRDqMQ5o9ezbt27ePdBiHpDiDJxZiBMUZbLESpzHmz2C8jqqeREQkICUKEREJSIlCREQCUqIQEZGAlChERCQgJQoREQkoJrrHiogUKrt3w/r1kJ4OJ50EcXGRjigglShERMLln3+gVy+oUMEliGbNoH59ePllyMyMdHR5ClmiMMbUMsbMMsasNMYsN8bc4Tle0RjzlTFmjefPCqGKQUQkasyfDw0bwsSJkJHhPf7773DzzXD77WBtxMILJJQlinTgbmttQ6AVcKsxphEwCPjGWlsP+MazLyJSeC1bBp06uRJFlrp1oXx57/6LL8LgweGPLR9CliistZuttYs827uBlUANoBvwhueyN4CLQhWDiEjEbdsGHTvCzp1uv3JlmDED1qyBDRvgyiu9144aBd9+e0S3W7fO5ZtgFk6MDUNRxxhTB/gOaAL8Za0t73PuP2vtQdVPxpi+QF+AKlWqnDp16tSQx3mkUlJSKFOmTKTDOCTFGTyxECMozmDLd5zW0mToUCrPnQtAeunSLH7qKVKSkrIvMenpNBkyhErz57vXPv54Fr7yCvYwG7j37Ilj0qTaTJtWkwMHijFkyApGjGi80Frb/LBeKPe/hw3pAygDLAQu8ezvzHH+v0O9RlJSko0Fs2bNinQI+aI4gycWYrRWcQZbvuOcONFa9+PePT7/PPfrNmywtlQp73XPP5/vWNLTrX31VWuPPtr/Vsceay2wwAbhezykvZ6MMcWBacDb1toPPIe3GmOqe85XB7aFMgYRkYjYsQMGDPDu9+vn2ilyU7MmDBni3X/0Udi//5C3+PZbaN4c+vRxNVxZWrWCYFbChLLXkwFeA1Zaa5/yOfUxcJ1n+zrgo1DFICISMQ8/7JIFwHHHweOPB75+wACoXt1tb94MH3yQ56Xr1sGll0L79rB4sfd4zZoweTL88AOcdtqRhe8rlCWKNsA1wFnGmMWeRxfgMeBcY8wa4FzPvohI4fHbbzB2rHd/zBg41EJHJUrATTd5959//qBLdu2CQYNcL1vfPJKYCMOHw6pV0KMHGHOE8ecQspHZ1trvgbzCPTtU9xURibihQ92oa4Azz4SLL87f8266CUaOhAMHXLFg0SJo1oyMDDf8YvBg2LrV/ylXX+06S9WsGdS/gR+NzBYRCaalS+H99737Tz6Z/5/41apB9+7e/ddf57vvoEULuPFG/yRx2mkwbx689VZokwQoUYiIBNfw4d7tbt3g1FMP7/k33JC9uWP8NNqfmckvv3hP16gBkya5AkerVkcYaz4pUYiIBMuyZf6NB8OGHfZL7G52JimJlQGouG8zbXBjMBIT3cutWgU9e0KxMH57K1GIiATLmDHe7YsugqZN8/3UjAyYMAHqNYzn7dRLso935z169nQJ4qGHDt0mHgpKFCIiwbBxo+ubmmVQ/qexy2qH6N3btUO8h7ed4ubK05j0Zia1agUz2MOjRCEiEgzPPOPt6XTGGfkayPDHH67t+swz8WuHWHNMe/Yd5aqfEv7ZBD//HIqI802JQkTkSCUnwyuvePfvvTfg5bt3wwMPuPEQvh2kEhNd9dKK1fGUvLiL98RXXwU54MOjRCEicqReftl9+4P79u/SJdfLMjPh9dchKcmNfUhL85676irXDjFsmKcd4rzzvCe//DJkoeeHlkIVETkSaWmu2inLPffk2iVpzhy48043hs5Xy5bu6a1b53jCOed4t+fNc4noqKOCF/dhUIlCRORITJ7s5mYCN1dTz55+p9evh8svh3bt/JNEjRpusNy8ebkkCYCqVb29ptLTYfbsUESfL0oUIiIFlZnp3yX2jjvcnE1ASoqbcqNBA3jvPe8lJUvCgw+6aqarrz7EeIgoqX5SohARKajPP4cVK9x2mTJw001kZrp5merVc7OF+7ZD9OjhEsTw4fkcD3Huud7tr78OZuSHRYlCRKSgfKcOv+kmvv+1PC1bQq9esGWL91SLFjB3rqulOvbYw3j9Nm2geHG3/dtvsH17UMI+XEoUIiIFMX++GykH2Ph4+q26gzPOgIULvZcccwy8+Sb8+COcfnoB7pGY6FYmyvLDD0cWcwEpUYiIFMTIkdmbkzN7MG6Gd+h0yZJupvFVq+Caa45wXqa2bb3b339/BC9UcEoUIiKHKXHN7/DJJwBkYhiReX/2uSuvdAni4Ydds8URa9PGuz13bhBe8PBpHIWIyGGYOxd23v159v50LuY3GtK8OTz7bAGrmALxfcEFCyA11VVJhZFKFCIi+fDnn660cH3bNXTaPT37+CuVH+CNN1yTRdCTBECVKq6PLbiV7xYsCMFNAlOiEBEJICXFtTc0aABTpsB9jCaOTADWHN+RaX+cyrXXhnh9iAi3UyhRiIjkIjPT9ViqXx9GjIB9+6AmG7iWN7Ovqff6A8FphzgU36HbP/0Uhhv6UxuFiEgOc+e6eZly1vI8VeUxErYfcDtt27p5OcKhRQvvtqqeREQi56+/3Ojptm39v4+rV4dpo9dy2X8+U4kPHhy+wBo29DZgb9zoP5ovDJQoRKTIS0lx8y/Vrw/vvus9XqKEywerV8Mli4ZgPAsT7Tz5ZOjYMXwBxsdDs2be/TCXKpQoRKTI8m2HeOQR1w6R5fLL3XiIESOgzPL5riXbY13fvmBMeIP1HaEd5hXv1EYhIkXSDz+4doic37mnnurWh8juaJSRAf36eS+45BJ2NWoUtjiz+bZThDlRqEQhIkXKX3+51eTatPH/vq1Wza0+99NP/r1Reekl70ISJUv6TyseTjkbtK0N262VKESkSNizx61H3aABvPOO93iJEm796jVr4Prrc4yH+OMPuN87PQeDB8Nxx4UrZH9160LZsm57+3aX8cJEiUJECrXMTLeSXFKSm38pNdV77vLL3ezdI0fmMi9Terqb0S9rLeykJLfMaaQUK+bqxbL88kvYbq02ChGJHdbC8uVusaDNmyEuDsqXh8aN3SMhwe/yefNcO0TOMWrNmrl2iDPOCHCvoUO9k/DFxcGkSa7qKZJOPhlmzXLbS5bARReF5bZKFCIS/TZscDPuvfMObNqU+zWJiW7p0O7d2dDyUgYNK8nkyf6XVKvmVp277rpDTLkxfjw89ph3f9gw/zaCSMlaQxtg8eKw3VaJQkSiV1bDwrPPuqqgQFJT4aOP4KOPSOQOmtKL+dzE79SlRAm4+24YNAiOOuoQ95w4EW6+2bt//vn+7RSRdPLJ3u0lS8J2WyUKEYlOCxdC9+6uQdlXhQquW1Itz0JBW7ZgFy3CrF+ffUll/mUgYxjIGH6p1onqj/SjWq8urgopL2lprhHj0Ue9x5o2dSPwAj0vnBo1ckujHjjg3pfkZChXLuS3VWO2iESft992/Vd9k8Tpp7vFgrZvh48/hrFjYexYfhw4jdZV/6AeqxnMCNZT2++lTtnyBdX6dHW9hoYMcQ0WaWneC3buhAkT4JRT/JPEySfD558HafWhIElIcNN5ZFm6NCy3VaIQkejy3HNw9dXeL/Ny5dwAh++/hwsuyP51v2ED9OzpJladPx/WUo9HGczpR//Ol/1nYLuc7z96ev16173ptNPcl3+NGm4SpwoVoHdvWLnSe+3ZZ8O337pGjWgTgeonJQoRiRo1p06FO+7wHmjUyI2Ku/767C/9vXth+HA37YZvY3VCgmuDWLU2jvOePR/z6QxYuxbuvRcqVfK/UXq6axTPOblemTLw/PMwc2ZYqnQKJAIN2koUIhIdJkyg7rhx3v3WrV331Hr1ADce4u23XYIYNsx/PMRll7nxEKNG5WisPv54GD3aFT+mTXPjIk44wf++xYu7aqcxY2DdOrjttuhpk8hNBEoUaswWkcj77DPo08e7f8YZ7pinfWD+fFfQmD/f/2lNm7rxEGeeeYjXT0yESy5xD3CD6JKT3TxOxxzjkkWsOOkk7/by5S6DhnR5PZUoRCTSfv3VLUad6ZYXpWlT12hdpgwbN7pCQKtW/kmialU31GHBgnwkidwcdRTUrAm1a8dWkgC3hnaVKm47NdUt5h1iShQiEjk7dkDXrtnTZOyrWhW++IK9xcsxfLibNWPSJO/lCQlw331ufYjevaO7hiikGjf2bi9fHvLbhSxRGGMmGGO2GWN+9Tk2zBjztzFmsefRJVT3F5Eol5npigtZXWDLlGHpiJFM/qZqru0Ql17qOiY99ph3brwiy3ea8xUrQn67ULZRTAReAJ+VyJ2nrbURmqdXRKLGo4+6dgiP1UPepNfTZx30vde0KTz9NLRvH97wolphSRTW2u+MMXVC9foiEsO++sqtPeoxo9G9XDjoYr9Ljj7a5ZLrry/CVUx5CXOiMDaEi194EsUMa20Tz/4w4HpgF7AAuNta+18ez+0L9AWoUqXKqVOnTg1ZnMGSkpJCmWgaxZkHxRk8sRAjRFecJbZt49S+fUlITgbgO9OOs+w3ZHh+txYvnslll22kZ88/KV06I5Kh5inS72fx//6jjacHV0bJksz59NNcez516NBhobW2+UEnDpe1NmQPoA7wq89+VSAO1zYyEpiQn9dJSkqysWDWrFmRDiFfFGfwxEKM1kZRnPv328zWra11E4bbTVSzVdmctWvPOGObXbs20kEeWsTfz8xMaytVyn4f7fr1uV4GLLBB+C4Pa68na+1Wa22GtTYTeBVoGc77i0hkbbnuPsy8eQCkE8cVTGEr1Tj5ZPjf/+Dhh5cfNB5OcmFMWKufwpoojDHVfXYvBn7N61oRKTz+/hueO3Ma1d55OvvYAzzKqqPb8eqrbqLYDh0iGGAs8k0UIe4iG7LGbGPMO0B7oLIxZiPwENDeGNMUsMB64KZQ3V9EIi811c2MMfXRtXy/74bs45+YrhS75x7WDFFX1wLzHUsR4hJFKHs99cjl8Guhup+IRA9rYcoUNx/f9g2pzOMyyrELgK2l6tBkzkQubKbxvkckjFVPmutJRILq55/dOtU//OD2X6E/TXGT12UWT6Dqd+9DswoRjLCQyJkorPWfVj2IlNJFJCg2bXJrUbds6U0SfXiFPozPvqbYs8/AqadGKMJCplo1t5YGuClQNm4M2a2UKETkiKSmwogRbjbwN33mYTg/7gvGmX7eAz16+K9FLUcmjD2flChEpECy2iEaNIChQ92CQlnu7LCEj0t2J856Bsw1awavvBKyqpEiS4lCRKLVggVuyYgrr4S//vIeP+kkmPPu3zy9+nyK7UlxB2vVghkzomvt6cIiTF1k1ZgtIvm2aRM88AC88Yb/8SpVXPVT7y6biTv3HDdwAlzf188+c2tTS/CFqYusEoWIHFJqKjz1lFtqdM8e7/Hixd3Kc0OGQLldG+Ccc2HVKncyPt4tP9qkSWSCLgrC1PNJVU8ikidrYepUaNjQJQPfJNGtm/tueuIJKPf7IjjtNG+SiIuDyZPhnHMiE3hRccwx3hGLycmweXNIbqNEISK5WrgQ2rWDK67wX23zxBPh66/hww+h7gkWXnwR2rTxfknFx7tW7u7dIxN4URKmnk9KFCLiZ9Mm6NULWrSA77/3Hq9cGV56CRYtgrPPBpYtcyWGW2+FffvcReXLw5dfuuXoJDzq1/dur14dkluojUJEANcO8fTTbrGgnO0Q/fu7qqfyJffBzG9cV9dPPnF1U1lOOsnbX1bCR4lCRIIh4d9/YdIkWLLEtSNs3w4pKRAfjy1enH93JbDsz7Ict68cT1CenZRnF2Vp2BDOPyuVSru3woUrXHHCd8AEuPaI/v1dhilZMjJ/waLMN1FktREFmRKFSGG1d69rUB4/ntPnz8/zMgNUBnKd5Xul55GXCy6Axx7z76Yp4ZWU5N1WiUJE8uXAARg3zv3C37o1+K9fr57r8nTjjf6/ZiUy6tZ1jdrWwvr1kJYGJUoE9RZKFCKFyYIF0Ls3LF3qdzgzLo5ibduSfno7PvmjCS9+VIOtqUcRTzoJ7Ccxbj89L9xFj047KZ2e7LpaJie7L6ASJeDoo6FOHTjlFNclU6JHyZJQu7ZLEpmZsHZt0Et4ShQihYG18OSTMGgQZGR4j9esCQMGMPe449ma3o2BA933ia+uXd1YCN8aDIkx9et7/2FXr1aiEJEcUlPh2mvh/fe9xxITYdgw6N+fRStKcluvnTkLGTRu7Ho5nXtuWKOVUEhKgpkz3XYIGrSVKERi2b//woUXwrx53mOtWsHbb7Ol1PEMvhVefx2sLZ99ulIleOQR6NPHjY2TQiDEXWQ14E4kVv37L5x1ln+SuO029s38llFTjqdePZgwwTvUIT4e7rrLVWHfcouSRKHiW2+oEoWIALBjhxsVnVWfZAz2qaf5oNYdDGwKf/zhf3nr1v8wcWJltUMUViEuUShRiMSa//5zDQuLF7t9Y/hz+ESunX4t333nf2njxm7W14SEX0lKah/2UCVMatZ07VKpqfDPP+6HRMWKQXt5VT2JxJI9e6BzZzdCGrDG8Hrb1zjuIf8kUakSjB3rcsl550UoVgmfYsXc+JYsQS5VKFGIxIr0dDeVq88o69sSXuWGOb382iHuvBPWrIF+/dQOUaSEcCoPfYxEYoG17pv/00+zD93KC7yY1jt7//zz3VAKDZYuokI4lYcShUgsGDECXn01e3cUg3iRWwG3HMFTT0HHjpEKTqJCCEsUqnoSiXLJz70BDz6Yvf8WV/MAj1KxIrzwgpsQVklCQlmiUKIQiVJpaTDlxq8odceN2ce+4hxuinuNO+4wrF3r1gxSO4QA/olizRo371OQ6CMmEmWshenTYXz/pbz796UUJx2AJZzEK+dNY9GzCVobSA5WoQJUqeLWGtm3DzZsCNpLK1GIRJHFi93o6TWzN/IjXSjLbgA2x9fkv4mf8V7PshGOUKJa/fouUUBQ2ylU9SQSBbZuhb59oVkzWDQ7mc/oQk3+BiCtZFkqz/+M9j1rRDhKiXohaqdQiUIkgtLS4NlnXaem3buhOPt5n8s4iWUA2Ph4Ssz4AJqdGOFIJSaEqOeTEoVIBFgLH34I99wD69a5Y/EcYCqXcy5fZ19nXnsNzj47QlFKzPEtUWzaFLSXVaIQCbMlS1w7xKxZ3mPxHGDGUT3ouPsj78GHH3brTIjk15lnutmEk5LcXE/GBOVllShEwmTbNhgyBMaP9079DVC5fDpzj7+GpEXTvAcHDnQXixyOChXceiRBpsZskRBLS3NLjdar5wZXZyWJuDi4u18qf7e9gqRFU7xPuOsuGD06aL8GRY6UEoVIiGS1QzRuDPfeC7t2ec917gwrZm1lzOJzSJjxgffE7be7CZuUJCSK5KvqyRhzNNAGOAZIBX4FFlhrgzf0T6QQWbrUFQz+9z//4w0auHmZOpedC5df7t/gOGAAjBmjJCFRJ2CJwhjTwRgzE/gU6AxUBxoBQ4BlxpjhxhiNABLx2LYNbroJTjnFP0lUqADPPQdL56fSefZ90K6dN0kY47KHShISpQ5VougC9LHW/pXzhDEmHrgAOBeYlsv5CZ7z26y1TTzHKgJTgDrAeuBya+1/RxC/SFTYv98lgkce8a9iiotzs4M/NCiNSp9PgkYPwd9/ey+oWBEmT9asfhLVApYorLUDc0sSnnPp1toPrbUHJQmPiUCnHMcGAd9Ya+sB33j2RWKWtfDRR64dYuBA/yTR5dwDrHlzHs+VvJdKzWrDjTf6J4lzzoFfflGSkKiX3zaKt4DbrLXJnv06wGvW2jxHAllrv/Nc56sb0N6z/QYwG7jvUPcv8c8/sHIlNGyYn3BFgis9HbZsgY0b3SM5GdLS2LQ+jV/f3sk/m76lF2mU8DyOLZvMGTV+p8LcJfDV3oNfr2pVGDkSbrhBVU0SE/I7juJ7YL4xZgBQAxgI3F2A+1W11m4GsNZu9jSSH1LCjh1u+UclCgmHzEz44Qc3heucOe5Xf3r6QZcdA9ye2/N3eR451agBt93mHmXKBDdmkRAy1nfkT6ALjWkLzAL+AU6x1m7Jx3PqADN82ih2WmvL+5z/z1pbIY/n9gX6ApwKp0676ir+6NMnX7FGSkpKCmVi4AtAceYubu9eqs+YQY3p00nccsiPd77sq1qV/045hX/atWNHixbYCC0eoX/z4IqVODt06LDQWtv8SF8nv1VP1wBDgWuBk4DPjDG9rLVLDvN+W40x1T2lierAtrwutNa+ArwC0NwYW3vfPmq3b3+Ytwuv2bNn0z7KYwTFeZCMDDcS7qGHXLelXOwrX5W1qTX4Pa0m/1Ipu6KpYrVMOl9Unio1S0AJz6NUKahTBxo0oGSNGlTHdReMJP2bB1esxBks+f15cynQ1lq7DXjHGDMd11h9ymHe72PgOuAxz58fBb7cR5CX9hMB3OeqVy9X1eSrYkW47DLWn9SVAe+1Zvq3Ff1O16/verQmJs6mSof24YtXJALyNTLbWnuRJ0lk7f8EnBboOcaYd4B5QH1jzEZjTG9cgjjXGLMG1632sXxHGuSl/UR45x034ME3SdSqBS+/zPZfNnJLsZc5of/5fkmifHl45hlYtgy6dFFbtBQNAUsUxpghwIvW2h05z1lr9xtjzgJKWWtn5HK+Rx4vW7A5k9PS3NJ+tWsX6Oki2TIz4b773CjoLPHxMHgw+++6jxdeS+Thk1znpixxcXDzzTBsGFSuHPaIRSLqUFVPy4BPjDH7gEXAdqAkUA9oCnwNPBrSCH2tXq1EIUcmLQ2uuw6m+EzCl5SEfXcKMzY25e4WrvDq69xz4emn3VgJkaLoUFVPl1lr2wAzgeVAHK7j3ySgpbX2Lmvt9hDH6BXEFZukCNq/Hy67zD9JdO3Kiok/cd69Tena1T9JJCXBjBkwc6aShBRthypRnGqMqQ30BDrkOJeImyAwfNSgLQV14ABccYX75vdI7X0b98Q/w0tt4/yav8qXdx2g+vWDhIQIxCoSZQ6VKF4CvgCOBxb4HDeA9RwPHyUKKYj0dLjqKjfnt8dPZ9/Pee+NJHmXtzW6WDHXDjF8uNohRHwFTBTW2ueA54wx46y1t4QpprwpUcjhysx03V/ffz/70PgKA+nzzUjc7x3n3HNdd9cmTSIQo0iUy2/32MgnCYD1611jpEh+3X8/TJqUvfsUd9Hnv9FkJYl69eCTT1w7hJKESO5iYoW7zOLF3Ya18PvvkQ1GYscLL8Djj2fvjuNm7uZJwFCunCtB/PorXHCBxkOIBBJbiQJU/ST5cuC96dj+/bP3P6Qbt/ECxYoZbrkF1q51K9CpsVrk0GIjUfj+b1YXWQnAWvhhzA9kXHEVxjPh5Y+cxlVM5qxz4liyBF58UY3VIocjJhKF9U0UKlFIHpYvh95nrCZpYFdK2n0ArKEudxz3CVM+LsWXX6odQqQgIjPn8WFS1ZME8s8/bmqNaeO28X1mZyrzrztuKjNn0OfMGVZFVUwiRyA2EoVKFJKLAwdcNdKwYZC2cy+zuJATWAfA/vhE4j6ZwQ2d6kY2SJFCIDYSRfHibp7/tDS3XsDOnW74rBRJ1sLnn8OAAa7JqhgZTOMqTuMnd75YMRLef4eETgEnOBaRfIqJNgrAdXjPknPWNikyVqyAzp3h/POz+jVYnuFOLvJZ2sQ89xx06xaxGEUKm9hJFElJ3m31fCpy/v0Xbr8dTjrJDY5zLE8mPMDtvOC98J574NZbIxGiSKEVE1VPgH+iUDtFkXHgAIwb59oh/vvPe7yYsXzSdChdfvFZ++qKK2D06LDHKFLYKVFI1Prxx4rcfPPBBcizzoLJ9YZR9eWR3oMXXghvvulm9hORoFKikKizYgXcfTd88cVJfsdPOAGefCKTrnPvwzzpszrd+efDe+9pmLVIiMTOz6/69b3bq1e7ri9SqPz7L/Tv79ohvvjCe7xsWXjiCVj+0x66vdvDP0l07uxmhi1RIvwBixQRsZMoKlWCChXc9p49sHlzZOORoDlwAJ57znVse/55yMhwx4sVs/Tt6zq53dNlBSXanQZTp3qf2LUrfPABlCwZmcBFiojYSRTGqPqpEPr8c1eCuOMO/8bqDh3g5ZcX8PKz+zj6lRFwyilujo4st92mJCESJrGTKEBdZAuRlSuhSxf3+O037/ETToDp0+Gb6btot2ySK2YMHerWuwaXGCZMcEWPuLjIBC9SxMROYzaoRBEL0tLcN//ff7sigjEQH+8eZcqQbMrzwlvlGPt2eXZklqMYxYknnWNL72DYdX9weYMlFH/ra+j5BUl79/q/dosWLkloZj+RsFKikCO3bh28845bKm7hQrdGdR7KAYM9Dz97gBfzeFLVqjBkCNxyi0oRIhGgRCEFt3QpPPQQfPRRSHqhpRx3HGXuugtuuAFKlw7664tI/sRWovCd72ndOtddxncKcgmP3bvhvvvg5ZchM/Pg88cfDyecwK7ilfjlF9i2OZ3iHKAMKZRnJ5Xjk6leaicJe3diMjJcKaFiRaheHRo1gubNoWNHFmzbRvsOHcL/9xMRP7GVKEqXhpo1YeNGV72xfr1/8pDQ+/ln6NHj4LXLO3aEa6+FTp3YQUWGD3dTgPvWQh11lGuX7t8/n8Metm8PaugiUjCx1esJVP0USVOmwBln+CeJjh1h2TL44gvSL7+Kse9UpF49Ny4iK0kYA336uPEQAwdqbJxIrIntRKEusuHz9NNw5ZWuVxO44sGkSW4gRJMmzJwJJ5/shjfs2OF92plnwqJF8Morrk1aRGJPbFU9ATRZoYD1AAAVZklEQVRo4N1esSJycRQljz/u2iSy1K8PM2ZA3bqsWuUWEPrsM/+nHHccjBkDF1/sShQiErtiL1E0auTdVqIIvXHj/JNE27bw8cf8RwUevgteeOHgdojBg91Iaw2aFikcYj9RWKufrKHy6aeuLilL+/akfziDlyeV5sEH/auYjIHeveGRR6BatfCHKiKhE3uJ4phjoFw5SE52j02boEaNSEdV+Cxa5BYCyur+2qIF39w1g/6nlz6oINeuHTzzjJuOSUQKn9hrzDZG1U+h9tdfcMEFbpZeYH+NOlxT/hPO6eafJI47zs3wPXu2koRIYRZ7iQKUKEJp3z7XAu2Zxj01oRzNt3zKpK+8XZbKlIFRo9xbf+mlqvkTKexir+oJoHFj77bv1NNy5O66y1U7AQeI5/z9H7AMl5iNcbNpjBihdgiRoiQ2E4VKFKExeTK89FL27gCeYhZnAa4d4umnoVmzSAUnIpFSOKqetCzqEVv/+UpSr+2bvT+V7rzAbdSp422HUJIQKZpiM1HUrOk67INb82Dr1sjGE8N27oRBt+9hT5fLSMxwjderqcedpcczapRh5Uq1Q4gUdRFJFMaY9caYZcaYxcaYBQV4Af9ShdopDlt6uhtLV/cES6MXbqExrgovlZK8fdH7LFxTlkGDNGhORCJbouhgrW1qrW1eoGernaLAFi6swCmnQL9+cPGO8VzLW9nntj70IsOnn0T16hEMUESiSmw2ZoN/zyclinxZswbuvhs++eRkAJryC89ze/Z5e30v6gzrFanwRCRKRapEYYEvjTELjTF9D3l1blT1lG87d7oE0bixW60UoCzJvG+6UxLPbLAnnogZ+0LkghSRqGVsBHoMGWOOsdZuMsYcDXwF3G6t/S7HNX2BvgBVqlQ5derUqX6vUWLLFlr36AHAgbJlmfvhhxFvcU1JSaFMmTIRjcFXRobh00+rM2FCHZKTE7KPx5HO3CqdOW371wCklyrFwpdeIrVWrUiFmqtoez9zEwsxguIMtliJs0OHDgsLXL3vy1ob0QcwDLgn0DVJSUn2IJmZ1pYpY63rHGvt1q0HXxNms2bNinQI2b7+2tomTbxvT9ajbVtrF3bq5X9w6tRIh5uraHo/8xILMVqrOIMtVuIEFtggfE+HverJGFPaGHNU1jZwHvBrAV4IGjb07qudAnDtEN26wTnnwK8+72rt2jB1Knx36xSaffG698SgQdC9e/gDFZGYEYk2iqrA98aYJcBPwKfW2i8K9Epqp8iWnAz33OPaIT7+2Hu8dGkYORJWroTu9RZjbvBprO7c2c3HISISQNh7PVlr1wEnB+XF1POJjAwYPx6GDoXt2/3PXX89PPoorqvrH39Aly6QmupOJiW5KTvi4sIdsojEmNjtHgtFvkTxv//BnXfCsmX+x9u0cetDNM9qwtq8Gc47L3tG2PTSpYn/6CMoXz68AYtITIrNKTyy+JYoli2LjTmfkpPhxRddtU+tWm7oc9myLun17AkTJsA//wR8ibVr4aKL4Oyz/ZNE7dowZQrMmeOTJP76y83ot3at2y9Rgl9HjPBfe1xEJIDYLlHUru1d7W7HDti40X35RqP0dHjqKXj44ewFgbKlpblGhJUrvdVBF10Et94K7dtnd/tNTnZNCs8+CwcOeJ9eujTcfz8MGACJiT6vu3Che52NG91+XBy8+y47VZIQkcMQ2yUKY+Bkn+aOJUsiF0sgf/8NrVvDffcdnCRyk5EB06bBWWdB48ZkPvs8rz+bTL16MGaMf5K47jpYvRoGD/ZJEpmZrtTStq03SSQkuGlgL7oo6H89ESncYjtRADRt6t2OxkSxciWcfjos8Jn7sGFDeO451wCfkgL//gvz5sETT7iEkuP5xe7sz+V3HsPI7X1owU+ApU0b+PlnmDjRLSMOuKq3mTNdI8Wtt7rV6sCVumbMUJIQkQKJ7aon8C9RLF4cuThy8+efrlSwZYvbj493dUcDBkDx4t7rSpeGVq3c4557YPlydo56kRJT3iQxPcVdwl76MJ4+jGdvxRokHtsO82UT+LmCK6WsWQNffeV6N/lq3BimT4d69cL0lxaRwqZwJYpoKlEkJ8P553uTROnSrjqpY8dDPm3kG415ZupYSqaP4momcQvjONFnTGKpHX/DO+8Evn98vBtMN3iw5goXkSMS+1VPjRt7xwKsXeuqciLNWujd29tlt3hxV/UTIElkZMCrr7rhDU884dohdlOWcfRjzDVL+Wf6HNcgUbFi4HuXKQO33+4aLh55RElCRI5Y7JcoSpZ0XT2XL3df0MuWHVzPH24TJ7rSQ5bXXnO9l/Iwe7YbD5GzQHT66W48RIsWBmgLF7V1vacWLXI9mtatg1273HtQowa0bOmelJCQ221ERAok9hMFuAbtrF/vixdHNlGsXw/9+3v3b74Zrrkm10t//x0GDnRNCL5q1YLHH4crrshlQtz4eJcQWrYMatgiInmJ/aon8O/5tGhR5OIAlySyqr/q14cnnzzokl27XE/ZRo38k0SpUm6YxW+/wZVXRnzWdBERoLCUKJr7TLf+888RC6PSDz94VwYCVwVVqlT2bkYGvP66a1/ets3/udde6+ZlqlEjPLGKiORX4UgUzZq5n9/Wurm19+71+4IOi7Q06o4d692/8UbX3dVj9my4666De/C2bu3aIVSTJCLRqnBUPZUt66p5wP1sj0Q32ZdeInHTJrddsSKMGgW49uZLL4UOHfyTRK1abraOuXOVJEQkuhWORAHQooV3O9zVT7t2+a/rMHQouxIqM2iQG4T9wQfeU6VKwfDhrh2iRw+1Q4hI9Cs8icK3ncJ3uoxwePLJ7Blfbe3avF7yFpKSYPRo2L/fe9nVV8OqVfDgg+GvGRMRKajC0UYBkStRJCe76Vw9htpHGHlLCb9LWrVy7RCnnRa+sEREgqXwlChOPtk7QnvVKlcdFA7jxrlkAawiiVF/XZV9qmZNePtt+OEHJQkRiV2FJ1GUKgVNmrhta+Gnn0J+y11b9pLyyFPZ+48xiEziSEyEYcNcvrrqKrVDiEhsKzyJAtz02lm+/z5kt8nIcLNyjE56jTJ73ULVf1GLt+lJz55umqWHHlI7hIgUDoUrUbRt692eOzckt/juO9cccsuN+7lp9xPZx6fWvpdnxv7KpEmuyklEpLAoXInCt0Qxb56bQC9I/vgDuneHM8+EX36Bq5nEsWwAILXs0QxY3ptGjcLULiIiEkaFK1Ece6x3zew9e4Iy8G73bnjgATce4v333bFiZHC/eSz7msQHBlCsdGIeryAiEtsKV6IA/+qnI2inyMyECRPcwnCjRkFamvfck2d8RD27xu2UKwe33FLg+4iIRLvClyh8q58K2E4xZ44bv9e7N2zd6j3esiXM+8Fy5/7HvQf79XNTiIiIFFKFL1H4lihmz3ZFg3z64w+4/HJo1861Q2SpUQPeess1e7RK/x7mz3cnEhL8154QESmECl+iOPFEqFzZbW/fDkuXHvIpvu0Q773nPZ6Y6Lq5rlrlpt8oVgy3TmmWa6+FatWCG7+ISJQpfImiWDE491zv/pdf5nlpZqZbHyIp6eB2iKuucgli2DAoXdpzcOVK//Um7r47qKGLiESjwpcoIF+JYs4cNx7ihhtgyxbv8ZYt3ZQbb7/t7UCVbcwY73a3bm6tbhGRQq7wJ4o5c9xCRh7r13vbIXxXTT3mGHjzTdcOkeuS25s3w6RJ3v2BA4MetohINCqciaJmTbcgNbh5vr/7jpQUtwRpgwb+7RAlS7ppv1evhmuu8bRD5Oa557xzhrdu7d+7SkSkECs804zndN55sGIFACufmMFZvTr5VTGBWzjoscfcOL2Adu92s8RmUWlCRIqQwlmiALjwwuzN8v+bxtYt3m6yLVq4IRaTJ+cjSQC8+mr2VOIkJUHXrkEOVkQkehXKRPHnn9BjXDu2UQWA6myhDXOz2yF+/BFOPz2fL7Z/Pzz9tHf/7ru9616IiBQBhSpRpKTAkCFQvz68+348H3BJ9rknWrzHqlWHaIfIzYQJsHGj2z76aDd2QkSkCCkUiSIzE954w9UKjRzpHQ/xHt2zr2n19zTKlMr/KG3AvdDIkd79gQNd67eISBES84li7ly3zOj117serFmaN4eHZ5/pHaW9aRN8/fXhvfj48f6lCU3+JyJFUMwmij//dL2W2raFBQu8x6tXd6WL+fOhzZnx0LOn9+Tzz+f/BsnJMHy4d/+++3yGaIuIFB0xlyhSUmDoUDce4t13vcdLlnTtE6tXu2aE7HaIfv28F336Kaxbl78bPfqomysK3BDtm28OSvwiIrEmIonCGNPJGLPKGLPWGDMoP8/JzHQ9lurXhxEjYN8+77krroDffoNHHoEyZXI8MSkJOnVy29bC2LGHvtnatfDMM9790aO1ALaIFFlhTxTGmDhgLNAZaAT0MMY0CvSc1NQ4WrWC665zTQ1ZTj3VrU307rtQu3aAF7j9du/2uHHw1195X5uR4Ro8skZht2oFV14Z+C8lIlKIRaJE0RJYa61dZ63dD7wLdAv0hA0bSvHzz9796tVh4kT46ad8zqTRqRM0beq2U1PhnnvyvnbMGO+CR/HxrgRiTD5uIiJSOEUiUdQANvjsb/QcO6QSJdx8TatXu9JFvsdDFCvm5mrK8t578PHHB1/30UfuBlmGDoVmzfJ5ExGRwslYa8N7Q2O6Ax2ttTd69q8BWlprb89xXV+gr9s79dT27T/jppvWUa3aPgqq4YgRVP3mGwAyEhJYOno0yU2bgrVUmT2bhqNGUezAAQB2NWjAL88/j43P/3RYKSkplDmokST6KM7giYUYQXEGW6zE2aFDh4XW2uZH/ELW2rA+gNbATJ/9+4H7Az2nVq2GNii2bLG2Th1rXbO2tcZY27Gjta1be4+BtXXrWrt582G//KxZs4ITZ4gpzuCJhRitVZzBFitxAgtsEL63I1H19DNQzxhznDEmAbgSyKUeyCsxMSM4d65a1Q26q17d7VsLM2e6RSiyHHssfPWVljgVEfEIe6Kw1qYDtwEzgZXAVGvt8rAFcMIJ8O233i6zvm6+GZYsgTp1whaOiEi0i8h6FNbaz4DPInFvAOrVg88/d2tg//QTVKoEJ554iD62IiJFU+FduCg/GjZ0DxERyVPMTeEhIiLhpUQhIiIBKVGIiEhAShQiIhKQEoWIiASkRCEiIgEpUYiISEBhnxSwIIwxu4FVkY4jHyoD/0Q6iHxQnMETCzGC4gy2WImzvrX2qCN9kVgZcLfKBmMGxBAzxixQnMETC3HGQoygOIMtluIMxuuo6klERAJSohARkYBiJVG8EukA8klxBlcsxBkLMYLiDLYiFWdMNGaLiEjkxEqJQkREIiSqEoUxppMxZpUxZq0xZlAu50sYY6Z4zs83xtSJQIy1jDGzjDErjTHLjTF35HJNe2NMsjFmsefxYLjj9MSx3hizzBPDQb0fjPOc5/1caoxpFub46vu8R4uNMbuMMXfmuCYi76UxZoIxZpsx5lefYxWNMV8ZY9Z4/qyQx3Ov81yzxhhzXQTifMIY85vn33S6MaZ8Hs8N+PkIQ5zDjDF/+/zbdsnjuQG/F8IQ5xSfGNcbYxbn8dywvJ95fQeF9PMZjPVUg/EA4oDfgeOBBGAJ0CjHNf2AlzzbVwJTIhBndaCZZ/soYHUucbYHZkTBe7oeqBzgfBfgc8AArYD5Ef733wLUjob3EmgHNAN+9Tn2ODDIsz0IGJ3L8yoC6zx/VvBsVwhznOcB8Z7t0bnFmZ/PRxjiHAbck4/PRcDvhVDHmeP8k8CDkXw/8/oOCuXnM5pKFC2Btdbaddba/cC7QLcc13QD3vBsvw+cbYwxYYwRa+1ma+0iz/Zu3HKuNcIZQxB1A960zo9AeWNM9QjFcjbwu7X2zwjd34+19jtgR47Dvp+/N4CLcnlqR+Ara+0Oa+1/wFdALuvuhi5Oa+2X1i05DPAjUDNU98+vPN7P/MjP90LQBIrT811zOfBOqO6fHwG+g0L2+YymRFED2OCzv5GDv4Czr/H8R0gGKoUlulx4qr5OAebncrq1MWaJMeZzY0zjsAbmZYEvjTELjTF9czmfn/c8XK4k7/+A0fBeAlS11m4G958VODqXa6LpPQW4AVdqzM2hPh/hcJunimxCHlUl0fR+ngFstdauyeN82N/PHN9BIft8RlOiyK1kkLNLVn6uCQtjTBlgGnCntXZXjtOLcFUoJwPPAx+GOz6PNtbaZkBn4FZjTLsc56Pi/TTGJABdgfdyOR0t72V+RcV7CmCMGQykA2/nccmhPh+hNg44AWgKbMZV6+QUNe8n0IPApYmwvp+H+A7K82m5HDvk+xlNiWIjUMtnvyawKa9rjDHxQDkKVpw9IsaY4rh/oLettR/kPG+t3WWtTfFsfwYUN8ZUDnOYWGs3ef7cBkzHFeN95ec9D4fOwCJr7dacJ6LlvfTYmlU15/lzWy7XRMV76mmkvADoaT2V0znl4/MRUtbardbaDGttJvBqHvePlvczHrgEmJLXNeF8P/P4DgrZ5zOaEsXPQD1jzHGeX5hXAh/nuOZjIKuV/jLgf3n9JwgVTz3la8BKa+1TeVxTLavtxBjTEvc+/xu+KMEYU9oYc1TWNq6B89ccl30MXGucVkByVtE1zPL8pRYN76UP38/fdcBHuVwzEzjPGFPBU5VynudY2BhjOgH3AV2ttXvzuCY/n4+QytEednEe98/P90I4nAP8Zq3dmNvJcL6fAb6DQvf5DHUL/WG25nfBteD/Dgz2HHsY94EHKImrnlgL/AQcH4EY2+KKakuBxZ5HF+Bm4GbPNbcBy3E9NH4ETo9AnMd77r/EE0vW++kbpwHGet7vZUDzCMRZCvfFX87nWMTfS1zi2gwcwP0K641rD/sGWOP5s6Ln2ubAeJ/n3uD5jK4FekUgzrW4euisz2dWT8FjgM8CfT7CHOdbns/dUtyXXPWccXr2D/peCGecnuMTsz6TPtdG5P0M8B0Uss+nRmaLiEhA0VT1JCIiUUiJQkREAlKiEBGRgJQoREQkICUKEREJSIlCREQCUqIQEZGAlChECsAY08IzmV1Jz6jc5caYJpGOSyQUNOBOpICMMSNwswUkAhuttaMiHJJISChRiBSQZ+6hn4F9uKlFMiIckkhIqOpJpOAqAmVwq4yVjHAsIiGjEoVIARljPsatuHYcbkK72yIckkhIxEc6AJFYZIy5Fki31k42xsQBPxhjzrLW/i/SsYkEm0oUIiISkNooREQkICUKEREJSIlCREQCUqIQEZGAlChERCQgJQoREQlIiUJERAJSohARkYD+D+rbuuWRu6wXAAAAAElFTkSuQmCC\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "import mpmath\n", "\n", "cs = mpmath.fourier(f, [t0, t0+T], N)\n", "\n", "def numeric_approx(t):\n", " return mpmath.fourierval(cs, [t0, t0+T], t)\n", "\n", "mpmath.plot([f, numeric_approx], [t0, t0+T])" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Az mpmath.fourier függvénnyel kiszámított együtthatók az $f_N$ függvény koszinusz és szinusz együtthatói.\n", "\n", "$$f_N(t) = \\sum_{n=0}^N \\left(a_n \\cos\\left(\\frac{2\\pi nt}{T}\\right) + b_n \\sin\\left(\\frac{2\\pi nt}{T}\\right)\\right)$$\n", "\n", "Láthatjuk a hasonlóságot, ha kiszámoljuk az előzőleg szimbolikusan kapott kifejezést, és összevetjük a most kapott eredménnyel:" ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/latex": [ "$$- 6.36619772367581 \\sin{\\left (\\frac{\\pi t}{10} \\right )} - 3.18309886183791 \\sin{\\left (\\frac{\\pi t}{5} \\right )} - 2.12206590789194 \\sin{\\left (\\frac{3 \\pi}{10} t \\right )} - 1.59154943091895 \\sin{\\left (\\frac{2 \\pi}{5} t \\right )} - 1.27323954473516 \\sin{\\left (\\frac{\\pi t}{2} \\right )} - 1.06103295394597 \\sin{\\left (\\frac{3 \\pi}{5} t \\right )} + 10.0$$" ], "text/plain": [ " ⎛π⋅t⎞ ⎛π⋅t⎞ \n", "- 6.36619772367581⋅sin⎜───⎟ - 3.18309886183791⋅sin⎜───⎟ - 2.12206590789194⋅sin\n", " ⎝ 10⎠ ⎝ 5 ⎠ \n", "\n", "⎛3⋅π⋅t⎞ ⎛2⋅π⋅t⎞ ⎛π⋅t⎞ \n", "⎜─────⎟ - 1.59154943091895⋅sin⎜─────⎟ - 1.27323954473516⋅sin⎜───⎟ - 1.06103295\n", "⎝ 10 ⎠ ⎝ 5 ⎠ ⎝ 2 ⎠ \n", "\n", " ⎛3⋅π⋅t⎞ \n", "394597⋅sin⎜─────⎟ + 10.0\n", " ⎝ 5 ⎠ " ] }, "execution_count": 7, "metadata": {}, "output_type": "execute_result" } ], "source": [ "sympy.N(analytic_approx)" ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "([mpf('10.0'),\n", " mpf('0.0'),\n", " mpf('0.0'),\n", " mpf('0.0'),\n", " mpf('0.0'),\n", " mpf('0.0'),\n", " mpf('0.0')],\n", " [mpf('0.0'),\n", " mpf('-6.366197723675814'),\n", " mpf('-3.183098861837907'),\n", " mpf('-2.1220659078919377'),\n", " mpf('-1.5915494309189535'),\n", " mpf('-1.2732395447351628'),\n", " mpf('-1.0610329539459689')])" ] }, "execution_count": 8, "metadata": {}, "output_type": "execute_result" } ], "source": [ "cs" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Csak szinuszos együtthatók vannak, mivel a függvényünk páratlan." ] } ], "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.9.5" } }, "nbformat": 4, "nbformat_minor": 1 }