Files
ailearning/docs/da/059.md
2020-10-19 21:08:55 +08:00

48 KiB

解微分方程

In [1]:

%pylab inline

Populating the interactive namespace from numpy and matplotlib

积分求解

简单的例子

$\frac{dy}{dt} = sin(t)$In [2]:

def dy_dt(y, t):
    return np.sin(t)

积分求解:

In [3]:

from scipy.integrate import odeint

t = np.linspace(0, 2*pi, 100)

result = odeint(dy_dt, 0, t)

In [4]:

fig = figure(figsize=(12,4))
p = plot(t, result, "rx", label=r"$\int_{0}^{x}sin(t) dt $")
p = plot(t, -cos(t) + cos(0), label=r"$cos(0) - cos(t)$")
p = plot(t, dy_dt(0, t), "g-", label=r"$\frac{dy}{dt}(t)$")
l = legend(loc="upper right")
xl = xlabel("t")

![](data:image/png;base64,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 )

高阶微分方程

抛物运动(竖直方向):

\frac{d^2x}{dt^2} = g - \frac{D}{m}\frac{dx}{dt}

改写成如下形式:

y = \left[x, \frac{dx}{dt}\right] $\begin{aligned} \frac{dy_0}{dt} &= y_1 \\\ \frac{dy_1}{dt} &= -g - \frac{D}{m} y_1 \\\ \end{aligned} $In [5]:

def dy_dt(y, t):
    """Governing equations for projectile motion with drag.
 y[0] = position
 y[1] = velocity
 g = gravity (m/s2)
 D = drag (1/s) = force/velocity
 m = mass (kg)
 """
    g = -9.8
    D = 0.1
    m = 0.15
    dy1 = g - (D/m) * y[1]
    dy0 = y[1] if y[0] >= 0 else 0.
    return [dy0, dy1]

In [6]:

position_0 = 0.
velocity_0 = 100
t = linspace(0, 12, 100)
y = odeint(dy_dt, [position_0, velocity_0], t)

In [7]:

p = plot(t, y[:,0])
yl = ylabel("Height (m)")
xl = xlabel("Time (s)")

![](data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAYgAAAEPCAYAAABY9lNGAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz AAALEgAACxIB0t1+/AAAIABJREFUeJzt3Xnc1XPex/HXp6vJSJlsLVpEJEmFVErT1cI0lixjiSnZ hrnjzsxtEG40DHfWbLedxCTZJsnadjEG0aJSUm5CqDClspbrc//xPXG5nOpc13XO+Z7l/Xw8zsM5 v+t3fr/PUV2f890+X3N3REREKqsVOwAREclNShAiIpKUEoSIiCSlBCEiIkkpQYiISFJKECIiklTG E4SZ3Wtmy81sXoVj15jZW2Y2x8weN7NfVfjZBWa22MwWmtlBmY5PRESSy0YLYhTQr9Kx54E93b0D sAi4AMDM2gLHAW0T77nVzNTKERGJIOO/fN39n8DKSscmuXt54uV0oFni+eHAWHdf5+5LgHeAzpmO UUREfi4Xvp2fAjydeL4jsLTCz5YCTbMekYiIxE0QZnYR8J27P7iJ01QLREQkgtqxbmxmJwEHA30q HP4IaF7hdbPEscrvVdIQEakGd7dUz43SgjCzfsC5wOHu/k2FH00ABphZHTPbGdgNeC3ZNdy9YB+X Xnpp9Bj0+fT5ivHzFfJnc6/69+qMtyDMbCzQE9jezD4ELiXMWqoDTDIzgFfcfYi7LzCzh4EFwHpg iFfnU4mISI1lPEG4+/FJDt+7ifOvBK7MXEQiIpKKXJjFJJWUlpbGDiGj9PnyWyF/vkL+bNVh+diD Y2bqeRIRqSIzw3N9kFpERHKfEoSIiCSlBCEiIkkpQYiISFJKECIikpQShIiIJKUEISIiSSlBiIhI UkoQIiKSlBKEiIgkpQQhIiJJKUGIiEhSShAiIpKUEoSIiCSlBCEiIkkpQYiISFJKECIiklTG96SW 3FJeDh99BO++C599BitXhse334JZeNSuDdtsA9tuGx7NmkGLFrDFFrGjF5Fs0pajBez772HePHjl lfCYNSskhgYNYJddoGHDkAgaNIBf/hLcw2PdOli1Cv79b/j8c/jww5BUGjaE3XaDDh3Co2NHaNcu JBQRyX1V3XJUCaLAfPUVPP88/OMfMHEi7LADdOsG++8P++0Hu+4K9epV/brr18PSpfD22zBnTnjM mgUffwxdu8IBB0Dv3tClixKGSK5SgihSs2bBbbfBI4/AvvvCkUdC//6hayiTPvsMXn4Z/vlPmDwZ 3n8f+vaF3/423H+77TJ7fxFJXc4lCDO7FzgEWOHueyWObQuMA3YClgDHuvuqxM8uAE4BvgeGuvvz Sa6pBEEYT3jsMbj2Wli2DM44A049FRo1ihfTJ5/Ac8/Bk0+GhNG5M/zud3D00bD99vHiEpHcTBA9 gLXA/RUSxNXAZ+5+tZmdD2zj7sPMrC3wILAf0BSYDLR29/JK1yzqBOEeuo8uvjh051x8MRx6KJSU xI7sp778Ep59NrRqnnkGevWCQYNCrBrwFsm+nEsQAGbWEniyQoJYCPR09+Vm1hgoc/c2idZDubtf lTjvWWC4u79a6XpFmyDmzYM//hFWr4bLL4fDDw8zj3Ld6tWhtXP//TB/PgweDKefHga9RSQ7qpog Yq2DaOTuyxPPlwMbOkV2BJZWOG8poSVR9L7+Gi68EPr0Cb9c58yBI47Ij+QAsPXWcPLJMG1aGLOo VQu6dw/jFRMmhBlXIpJbos83cXc3s001B5L+bPjw4T88Ly0tpbS0NL2B5ZBXX4WBA6FTJ5g7Fxo3 jh1Rzey6K1x1FVx2WWhV/O1v8Oc/w9ChcMopUL9+7AhFCkNZWRllZWXVfn/MLqZSd19mZk2AaYku pmEA7j4icd6zwKXuPr3S9Yqii8kdbrgBRoyAO+4ILYZC5B6S4MiRoYVxxhkhWTRsGDsykcKSL11M E4DBieeDgfEVjg8wszpmtjOwG/BahPiiW7kSjjoKxo6F6dMLNzlA6Cbbf394+OGQKD7/HNq0gf/8 z7D2QkTiyHiCMLOxwMvA7mb2oZmdDIwADjSzRUDvxGvcfQHwMLAAeAYYUhRNhUqWLAm/MJs1g5de gpYtY0eUPa1ahfUcCxbAlltC+/YwZEhYzS0i2aWFcjlm9uwwDXTYsPANutitWAHXXQd33w2//30Y qM/3MRiRWPKli0mSmDQJfvMbuOkmJYcNGjYMA9pvvRXWebRtCxdcELrgRCSzlCByxNNPh2/Ijz8e Vh7LTzVsGAax33gDPv0UWrcOLYtvv40dmUjhUoLIAZMnw0knhfIUBxwQO5rc1qJF6G564YXwaNMG HnwwzIQSkfTSGERkL74YWgyPPw49esSOJv+88AL85S+h5MgNN4RqsiKSnMYg8sjrr4cidg89pORQ XT17hmnAf/xjmBY8cKCmxoqkixJEJEuXhrUNd94ZymdI9dWqFcqPvP12mBLcsWNYXKjxCZGaUYKI 4Msvw14JZ59d2Avgsq1evVC2Y/r0UO9pr71CNVkRqR6NQWRZeXkYc9hmG7jnnvwptpePnn46lOzo 2DHMgGrePHZEInFpDCLHXXJJKCVx++1KDpl28MGhPHq7drD33mFjpXXrYkclkj/Ugsii558PO77N mhX2ipbsWbwYzjwzrMy+886w051IsVELIkctWxbWOjzwgJJDDLvtFrZCPffcsMnS0KGwZk3sqERy mxJEFpSXh602//AHKOBtK3KeWVitPn9+mCiw557w1FOxoxLJXepiyoIRI8KA6dSpYUGX5IYpU8K2 p127hkV2atlJoVMXU46ZNSvMoBkzRskh1/TpEwaxmzQJU2LHjVPJDpGK1ILIoHXrwmDon/8MJ54Y OxrZlOnTw3anu+8Ot96qkuJSmNSCyCHXXhuqkA4aFDsS2ZwuXUJrb489oEOH0OLLg+8gIhmlFkSG vP02dO8OM2YU145whWDmzFC6o3XrsF5Fe2NLoVALIgeUl8Npp8HFFys55KN99w2JvXXrsOXpo4/G jkgkDrUgMuDOO2HUqLCfdElJ7GikJl59NYwfde4MN98cSqSI5Cu1ICJbtSq0HG69VcmhEHTtGvYJ 32ab0JqYNCl2RCLZoxZEmp1zDqxeDXfdFTsSSbdJk8JMpyOPDPtkb7ll7IhEqqaqLQgliDRatAi6 dQsrdRs1ih2NZMLKlTBkSNgbe8wY2Gef2BGJpE5dTBGdey6cd56SQyHbZhsYOzZ0I/brF1bJf/99 7KhEMiNqC8LMLgAGAuXAPOBkYCtgHLATsAQ41t1XVXpfzrUgJk+GM86ABQtgiy1iRyPZ8MEHPy6A vP9+aNEibjwim5M3LQgzawn8AdjH3fcCSoABwDBgkru3BqYkXue08nL4r/+Ca65RcigmLVqEek79 +kGnTqFUh0ghidnFtBpYB9Q1s9pAXeBjoD8wOnHOaCDnN+V85JEwYHnkkbEjkWwrKYFhw0Ixxosv hpNPhrVrY0clkh7REoS7/xu4DviAkBhWufskoJG7L0+cthzI6R7977+H4cPhssu0Q1wx69QplOqo VSsMXM+YETsikZqLVl/UzFoBfwJaAl8Aj5jZwIrnuLubWdLBhuHDh//wvLS0lNJIGy089BBstx0c dFCU20sOqVcv7DP+8MNhu9Pzzgtdj7U0FUQiKSsro6ysrNrvjzZIbWbHAQe6+2mJ14OArkBvoJe7 LzOzJsA0d29T6b05MUi9fj20bRvq9fTuHTsaySXvvw8nnAD168Po0ZrZJrkhbwapgYVAVzPb0swM 6AssAJ4EBifOGQyMjxTfZv3977DjjtCrV+xIJNfstBO88ELoetp7b63AlvwUe5rreYQkUA7MAk4D 6gMPAy3I4Wmu69aFvQNGjYKePaOGIjlu2rRQ8v3EE+Gvf4Vf/CJ2RFKstJI6S+6/H+67L2wjKrI5 K1aEEuKrV8ODD4YWhki25VMXU95yD5sBnX9+7EgkXzRsCE89FaZCd+4MTzwROyKRzVOCqIZJk0KS 0MwlqYpateAvfwnJ4eyzw1a0330XOyqRjVOCqIZrrgn/0LXuQaqja9ewZuLdd+GAA+C992JHJJKc EkQVvfFGqLd0/PGxI5F8tu22MH58mArbpUt4LpJrNEhdRYMGQbt2Gn+Q9Jk+HY477sd9JurUiR2R FCrNYsqgDz+EDh1C10CDBlm/vRSwf/871HFatiysxNYsJ8kEzWLKoJtvDlMVlRwk3TZ0OR1zTJjl 9NRTsSMSUQsiZd98A82bh03sW7XK6q2lyPzrXzBgAAwcCJdfDrWjVUyTQqMWRIY8+mio0qnkIJnW vXuY5TRzJhx4YOh2EolBCSJFt98Of/xj7CikWOywAzzzTCjjsu++8OKLsSOSYqQuphTMmxd2DVuy RHV0JPuefRZOOimUDj/3XK2/kepTF1MG3HEHnHaakoPE0a8fvPYaPPZYmAq7atXm3yOSDkoQm7F2 bSiudtppsSORYtaiRehmatYslBCfMyd2RFIMlCA246GH4Ne/DjOYRGLaYgu45ZZQMrxv37ARkUgm aQxiMzp1gr/9LTTzRXLFm2/C734XNqu68caQPEQ2R2MQaTRnTqjjr6qtkmvatYPXX4dPP4UePeCD D2JHJIVICWITHngg1F7SpvOSi7beOqzPOeaYUPBvypTYEUmhURfTRqxfHwYGp06FNm0yeiuRGps2 LVSGPfvsUEhSU2Elmap2MW1yEb+ZNQSOAX4NtAQceB94EXjE3VdUP9TcNmVKmDGi5CD5oFev0OV0 9NGhOuzo0aGFIVITG+08MbN7gIeBesDtwGDgZOAOoD7wsJndnY0gY9jQvSSSL5o1gxdegMaNQ8G/ BQtiRyT5bqNdTGbW3t3nbvLNKZyTCZnuYlqzJkxrXbw4lDwQyTf33RdWXd92W2hViID2g0iL++6D f/xDG8tLfps1K0yFPfZYuOIKVYWVDExzNbPDzGy2ma00szWJx+qahZnb1L0khWCffcK4xKxZYR3P Z5/FjkjyTSoTOG8gjD9s5+71E4+0DH+ZWQMze9TM3jKzBWbWxcy2NbNJZrbIzJ43s6xuz/PBB2Hf 6UMPzeZdRTJj++1Dsb9OncJj5szYEUk+SSVBLAXmu3t5Bu5/I/C0u+8BtAcWAsOASe7eGpiSeJ01 48aFZvkvf5nNu4pkTkkJjBgB114bWhIq0SGp2uwYhJl1BS4DpgHfJQ67u19foxub/QqY7e67VDq+ EOjp7svNrDFQ5u5tKp2TsTGILl1Cf23fvhm5vEhU8+eHirAHHQTXXw916sSOSLIpE6U2LgfWAr8k THmtR5jmWlM7A5+a2Sgzm2Vmd5nZVkAjd1+eOGc50CgN90rJ++/Du++GTVpECtGee4bS4e+/D336 aLc62bRU5jU0cfcDM3TvfYCz3P11M7uBSt1J7u5mlrSpMHz48B+el5aWUlpaWuOAHnsMDj9c+z5I YWvQIMzQu+wy2G+/UK6jS5fYUUkmlJWVUVZWVu33p9LFdDUwxd2fq/Zdkl+3MfCKu++ceH0AcAGw C9DL3ZeZWRNgWra6mLp1g0suUeVWKR4TJoS9Tv7nf+DUU2NHI5mW9nUQZrYWqEsYf1iXOOzpmMlk Zi8Cp7n7IjMbnrgPwOfufpWZDQMauPuwSu9Le4JYuhQ6dAhNbrUgpJgsXAhHHAG9e8MNN2hcopDl 1UI5M+sA3A3UAf6PUMqjhFDiowWwBDjW3VdVel/aE8RNN8Hs2TBqVFovK5IXvvgCTjwRPv88dDk1 bhw7IsmEtCUIM2vl7v+3mZtt9pxMyESC6NEDhg2DQw5J62VF8kZ5OVx+Odx9dxiP69w5dkSSbulM EOOArYAJwAzgE8CAJkAnoD+wxt0H1DToqkp3gvj447AByyefaGcukSeegD/8Aa66Ck4+OXY0kk5p 7WIys12BAUB3YKfE4feBl4Cx7v5uDWKttnQniP/931Ai+f7703ZJkbz21lthXOI3v4HrrtO4XKHI qzGI6kp3gujdO2y0cvjhabukSN5btQp+/3v48kt45BFVNi4E2pO6ilatghkz4MBMrPQQyWMNGoRp sN27h/USs2bFjkiyregTxHPPwa9/DXXrbv5ckWJTUhJKz1xzTehuevDB2BFJNhV9hfiJE1W5VWRz jjkGdt89jEvMnh2K/5WUxI5KMi2V/SCmpHIsH33/PTzzjKa2iqSiffsf95c4+GBYuTJ2RJJpm9qT eksz2w7YIbFHw4ZHS6BptgLMpFdfDfv4Nm8eOxKR/LDddqFbtm3bMC4xf37siCSTNtXFdAZwNrAj UHGbkTXALZkMKlsmToTDDosdhUh+qV0bRo6EvfeG0tKwsE4zAAtTKrWYhrr7TVmKJyXpmubarh3c c48qWYpU12uvhQ22Tj8d/vu/wVKeQCkxZGQdhJl1A1pSocXh7tGWlaUjQbz3HnTtGlZP1yr6uVwi 1ffJJ3DUUaG7dtQoqFcvdkSyMWlfB2FmfweuBQ4A9qvwyGtPPRUG2pQcRGqmSRMoK4P69cOaiffe ix2RpEsq01z3BdpmbI/PSCZODPVmRKTmttgidNfefDPsvz+MHQu9esWOSmoqle/PbxIK9BWMtWvh X//S6mmRdDKDoUNhzBgYMABuuQUK62tl8dloC8LMnkw8rQcsMLPXgG8Tx9zd+2c6uEwpKwtT9Lau 8ZZHIlJZnz7w8sthZtOcOaEYpjYhyk+b6mK6LmtRZNnkyWo9iGRSq1bwyiswaFBIGI89Bg0bxo5K qqooq7nuuSeMHg2dOqUxKBH5mfJyGD48/HsbPz6snZB4MrEn9Zokh78AXgfOibEnRE0SxEcfhZIB K1aoloxItjzyCAwZEsYljjsudjTFq6oJIpVZTDcCHwJjE68HAK2A2cC9QGkVY4xq8uSw/4OSg0j2 HHMM7LZbKPY3d27Y2lRTzHNfKi2Iue7evtKxN9y9o5nNcfcOGY0weUzVbkEMHBjKe59+epqDEpHN WrECjj4att0WHnggrJ2Q7MnEhkFfmdlxZlYr8TgW+Cbxs7wawHDXALVITA0bhn+DDRuG9RLvRtm0 WFKVSoL4PTAIWJF4nAgMNLMtgbMyGFvazZsXygDsvHPsSESKV506cMcd8B//Ad26wdSpsSOSjSmq WUzXXQfvvAO33ZaBoESkyqZOhRNOgEsuCQlDxf4yK22D1GZ2vrtfZWY3J/mxu/vQakX48/uUADOA pe5+mJltC4wDdgKWAMe6+6p03GvSJI09iOSS3r1DVYP+/cPg9U03aVFdLtlUF9OCxH9nVnjMqPA8 Xc5O3GtDk2AYMMndWwNTEq9r7Ntvw19E1YcRyS0bFtV9/HEYH/z009gRyQYpdzGZ2Vbu/mVab27W DLgPuAL4r0QLYiHQ092Xm1ljoMzd21R6X5W7mKZNg2HDYPr0NAUvImlVXh72lBg7Fp54IqxXkvTK RLnvbma2AFiYeN3RzG6tQYwVjQTOBcorHGvk7ssTz5cDjdJxI81eEslttWrBlVfCFVeE8hzjx8eO SFJZKHcD0A94AsDd3zCznjW9sZkdCqxw99lmVprsHHd3M0vaVBg+fPgPz0tLSyktTXqJH7zwQljy LyK57YQTwqK6o46CN9+Eiy7S4HV1lZWVUVZWVu33p7JQ7jV372xms91978SxGi+QM7MrCdNn1wO/ BLYGHidsRlTq7svMrAkwraZdTF9/DTvsAMuXw1Zb1SRqEcmWjz+GI48M09LvvRfq1o0dUf7LxEK5 D8yse+LidczsL8Bb1Q1wA3e/0N2bu/vOhPIdU919EDABGJw4bTBQ44bm9Omw115KDiL5ZMcdQ2n+ 2rVD9YOlS2NHVHxSSRD/AZwJNAU+AvZOvE63DU2CEcCBZrYI6J14XSMvvBD+golIftlyy1CS45hj oEsXTTLJtqJYKNenD5xzTtiDWkTy05NPwimnwMiRoaaaVF3ayn1XWiDnQMWLpm2hXHVUJUF89x1s t11onv7qVxkOTEQy6s03w6K6Y48Ns51Ulblq0jkGUXFh3OH8dJFcOhfKZdSMGWFGhJKDSP5r1w5e ew1efTWUDl+9OnZEhS2lLqaKM5hyQVVaECNGhNlLI0dmOCgRyZrvvoOhQ+Gll2DCBNhll9gR5YdM zGLKaxqgFik8deqEopsbKsLWYKq/bEJBJ4j16+Hll6FHj9iRiEi6mcGZZ8KYMWEb0zvvjB1R4dlU Nde1/Dj1dMtKe1O7u2+d0cjS4I03oHlz2H772JGISKb06RO6mvr3D4PY118f1k5IzW20BeHu9dy9 fuJRu8Lz+vmQHABefFHdSyLFYLfdQkXYRYvgt7+FlStjR1QYCrqL6cUXoWeNq0aJSD5o0AAmTgxV E7p0gbffjh1R/ivYhXLuof7S3Llhyb6IFI977oELLwyrsA86KHY0uUOzmBIWLw77Tys5iBSfU0+F Rx+FwYPhxhvDF0apuoJNEK+8Al27xo5CRGLp0SPMYrz7bjjjjLB2QqqmoBPE/vvHjkJEYtp555Ak li0LG4Z99lnsiPKLEoSIFLT69eEf/wi/D7p0gfnzY0eUPwpykHrNGmjcOEx1q1Mni4GJSE574IFQ 2XnUKDjkkNjRZJ8GqYHXX4eOHZUcROSnBg2CJ56A00+Ha6/V4PXmFGSCUPeSiGzM/vuH3xFjxoTZ Tt9+Gzui3FWQCeLVVzWDSUQ2rkWLUJ5j1Sro2xdWrIgdUW4quAThHhKEWhAisilbbRXWSvTqFQav 586NHVHuKbgE8c47YR/bpk1jRyIiua5WLbjsMrjyylD074knYkeUWwqu5qEWyIlIVR1/PLRqBUcd BQsXwnnnhXLixa7gWhDqXhKR6ujcOfz+ePjhUKLjm29iRxRfwSUIzWASkepq1gz++U/4+mvo3Tts V1zMCipBrF0b6sHvnTO7Z4tIvqlbF8aNC6U5OneGOXNiRxRPtARhZs3NbJqZzTezN81saOL4tmY2 ycwWmdnzZtYg1WvOmAHt28MWW2QubhEpfLVqwV//CldfHabBjh8fO6I4YrYg1gF/dvc9ga7AmWa2 BzAMmOTurYEpidcpmTED9tsvI7GKSBE67jh4+mk46ywYMaL4Vl5HSxDuvszd30g8Xwu8BTQF+gOj E6eNBo5I9ZozZkCnTumOVESK2X77wfTpP+4vUUyD1zkxBmFmLYG9gelAI3ffMDS0HGiU6nVmzoR9 9017eCJS5Jo2DVsYf/NNcQ1eR18HYWb1gMeAs919jVWYfOzubmZJG3XDhw//4XlpaSkdO5aybBm0 aZPhgEWkKNWtCw89FBbWdekSFtV16BA7qk0rKyujrKys2u+PWu7bzH4BTASecfcbEscWAqXuvszM mgDT3L1Npff9rNz31KlwySWhvoqISCaNGxfGJe66C45IuRM8vrwp922hqXAPsGBDckiYAAxOPB8M pDR/QOMPIpItxTJ4HXMMojswEOhlZrMTj37ACOBAM1sE9E683iyNP4hINhXD4HXB7CjXqhVMnAh7 7BEpKBEpSl99BSedBEuXhq1NG6U8rSb78qaLKZ1Wrgz13Fu3jh2JiBSbDYPXBx4YBq8LaeV1QSSI mTNDeY2SktiRiEgx2rDyesSIsPK6UMqGR5/mmg4afxCRXDBgAOyyS+GUDS+IFoRmMIlIrqhYNvyk k/J7z+uCSBBqQYhILmnWLKy8/uqrsFNdvu55nfcJ4vPP4bPPNEAtIrllq63CgrrevcPg9bx5sSOq urxPEBsGqGvl/ScRkUJTec/rJ5+MHVHV5P0g9cyZGn8Qkdx2/PE/Dl6//Tacc05+DF7n/ffumTNh n31iRyEismlduoTB6zFj4NRT82PwOu8TxJw50LFj7ChERDavefNQUHTVqrCw7tNPY0e0aXmdINau hY8+gt13jx2JiEhqttoq1G/q0SO0Kt58M3ZEG5fXCWLevFB7qXbej6SISDGpVQuuuCKsvu7dO1SG zUV5nSDmzMn9DTtERDZm0CAYPx5OOw1Gjsy9suFKECIiEXXrBq+8AqNGwemnw3ffxY7oR0oQIiKR 7bQT/OtfYa/rgw4KC4BzQd4miPLyMAahBCEihaB+/bCfROfOYfD6rbdiR5THCeK992CbbcJDRKQQ lJTA1VfDRRdBz57w3HNx48nbBKHuJREpVCefDI89FrYyvfnmeIPXShAiIjmoRw94+WW4/XY480xY ty77MShBiIjkqF12CTOcliyB3/42bK+cTUoQIiI5bOutQxXYvfaCrl1h8eLs3TtvE8Snn0KrVrGj EBHJvJKSsJDunHPggANg6tTs3DdvE0S7duF/mohIsTj9dHjoITjhBLjjjszfLycThJn1M7OFZrbY zM5Pdk779tmOSkQkvl69QkXYkSPhT3+C9eszd6+cSxBmVgLcAvQD2gLHm9kelc/T+IOIFKtddw17 SyxYAIcdBl98kZn75FyCADoD77j7EndfBzwEHF75JCUIESlmDRqEKrC77hq2PLj0Uli2LL33yMVC 2U2BDyu8Xgp0qXySuphEpNjVrh0W0g0ZAjfdFLY/6NsXdtghTddPz2XSKqU1g9dfP/yH56WlpZSW lmYoHBGR3LbHHnDbbXDllaF8+Ndfh+OLFpWxeHFZta9rnmMFyM2sKzDc3fslXl8AlLv7VRXO8VyL W0Qk15kZ7m6pnp+LYxAzgN3MrKWZ1QGOAyZEjklEpOjkXBeTu683s7OA54AS4B53z4HCtyIixSXn uphSoS4mEZGqK4QuJhERyQFKECIikpQShIiIJKUEISIiSSlBiIhIUkoQIiKSlBKEiIgkpQQhIiJJ KUGIiEhSShAiIpKUEoSIiCSlBCEiIkkpQYiISFJKECIikpQShIiIJKUEISIiSSlBiIhIUkoQIiKS lBKEiIgkpQQhIiJJKUGIiEhSShAiIpJUlARhZteY2VtmNsfMHjezX1X42QVmttjMFprZQTHiExGR eC2I54E93b0DsAi4AMDM2gLHAW2BfsCtZlZ0rZyysrLYIWSUPl9+K+TPV8ifrTqi/PJ190nuXp54 OR1olnh+ODDW3de5+xLgHaBzhBCjKvS/pPp8+a2QP18hf7bqyIVv56cATyee7wgsrfCzpUDTrEck IiLUztQ/zu36AAAFzElEQVSFzWwS0DjJjy509ycT51wEfOfuD27iUp6J+EREZNPMPc7vXzM7CfgD 0Mfdv0kcGwbg7iMSr58FLnX36ZXeq6QhIlIN7m6pnhslQZhZP+A6oKe7f1bheFvgQcK4Q1NgMrCr x8piIiJFLGNdTJtxM1AHmGRmAK+4+xB3X2BmDwMLgPXAECUHEZE4onUxiYhIbsuFWUxVYmb9Eovo FpvZ+bHjSScza25m08xsvpm9aWZDY8eUbmZWYmazzezJ2LGkm5k1MLNHE4tAF5hZ19gxpVNiEet8 M5tnZg+a2RaxY6oJM7vXzJab2bwKx7Y1s0lmtsjMnjezBjFjrImNfL6NLlJOJq8ShJmVALcQFtG1 BY43sz3iRpVW64A/u/ueQFfgzAL7fABnE7oQC7HpeiPwtLvvAbQH3oocT9qYWUvCpJJ93H0voAQY EDOmNBhF+F1S0TBgkru3BqYkXuerZJ8v6SLljcmrBEEYvH7H3Ze4+zrgIcLiuoLg7svc/Y3E87WE XzA7xo0qfcysGXAwcDeQ8kyKfJD4JtbD3e8FcPf17v5F5LDSaTXhC0xdM6sN1AU+ihtSzbj7P4GV lQ73B0Ynno8GjshqUGmU7PNtYpFyUvmWIJoCH1Z4XbAL6RLf2PYm/CEWipHAuUD55k7MQzsDn5rZ KDObZWZ3mVnd2EGli7v/mzDz8APgY2CVu0+OG1VGNHL35Ynny4FGMYPJsIqLlJPKtwRRiN0SP2Nm 9YBHgbMTLYm8Z2aHAivcfTYF1npIqA3sA9zq7vsAX5Lf3RM/YWatgD8BLQmt2npm9vuoQWVYYgZl Qf7OSXGRct4liI+A5hVeN+enpTnynpn9AngM+Lu7j48dTxp1A/qb2XvAWKC3md0fOaZ0WgosdffX E68fJSSMQtEJeNndP3f39cDjhD/TQrPczBoDmFkTYEXkeNIusUj5YGCzCT7fEsQMYDcza2lmdQiV XydEjiltLCwKuQdY4O43xI4nndz9Qndv7u47EwY3p7r7ibHjShd3XwZ8aGatE4f6AvMjhpRuC4Gu ZrZl4u9pX8Jkg0IzARiceD4YKKQvaRsWKZ8LHL6hgsWm5FWCSHxzOQt4jvCXc5y7F8xMEaA7MBDo lZgKOjvxB1qICrHp/p/AGDObQ5jFdGXkeNLG3ecA9xO+pM1NHL4zXkQ1Z2ZjgZeB3c3sQzM7GRgB HGhmi4Deidd5KcnnO4WwSLkeYZHybDO7dZPX0EI5ERFJJq9aECIikj1KECIikpQShIiIJKUEISIi SSlBiIhIUkoQIiKSlBKEFD0z267CupNPzGxp4vkaM7slQ/c8K7GidWM/729mF2fi3iKp0joIkQrM 7FJgjbtfn8F7GDAL2C+x+HNj58xOnLMuU7GIbIpaECI/ZwBmVrphYyMzG25mo83sRTNbYmZHmdm1 ZjbXzJ5JlMDGzPY1szIzm2Fmz26o61NJd2DhhuRgZkMTG/HMSax+3VAo7hXgoGx8YJFklCBEUrcz 0IuwZ8DfCRvLtAe+Bg5JFFq8Gfidu3cibNhyRZLrHEAoWbHB+UDHxCYuZ1Q4/hrw67R/CpEU1Y4d gEiecOAZd//ezN4Earn7c4mfzSOUwW4N7AlMDj1ElBD2TqisBfBShddzgQfNbDw/LQ73MT/fEUwk a5QgRFL3HYC7l5tZxXGBcsK/JQPmu3sqZbAr7olxCKGlcBhwkZm1S+z6VYvCLGooeUJdTCKpSWWT o7eBHcysK4S9PcysbZLz3gc27DlgQAt3LyNsMPQrQrVNgCaJc0WiUIIQ+Tmv8N9kz+Hn3+w9Mdvo aOAqM3uDMAtp/yTXf4mwAQ+ElscDZjaXMLPpRndfnfhZZ+DFmnwQkZrQNFeRLKswzbWLu3+3kXNq Jc7ptLGpsCKZphaESJYlprDexaa3fDwUeFTJQWJSC0JERJJSC0JERJJSghARkaSUIEREJCklCBER SUoJQkREklKCEBGRpP4fPzntqp99LaMAAAAASUVORK5CYII= )In [8]:

y, infodict = odeint(dy_dt, [position_0, velocity_0], t, full_output=True, printmessg=True, )
print sorted(infodict.keys())
print "cumulative number of function evaluations at each calculated point:", infodict['nfe']
print "cumulative number of time steps", infodict['nst']

Integration successful.
['hu', 'imxer', 'leniw', 'lenrw', 'message', 'mused', 'nfe', 'nje', 'nqu', 'nst', 'tcur', 'tolsf', 'tsw']
cumulative number of function evaluations at each calculated point: [ 45  49  51  53  55  59  61  61  63  65  67  67  69  71  73  73  75  77
  77  79  79  81  81  83  85  85  87  87  89  89  91  91  93  95  95  97
  97  99  99 101 101 103 103 105 107 107 109 109 111 111 113 113 115 115
 117 117 119 119 121 121 123 123 123 125 125 127 127 129 129 131 131 131
 133 133 135 135 135 137 137 139 139 139 141 141 143 143 143 145 145 147
 147 149 149 149 154 158 274 280 280]
cumulative number of time steps [ 20  22  23  24  25  27  28  28  29  30  31  31  32  33  34  34  35  36
  36  37  37  38  38  39  40  40  41  41  42  42  43  43  44  45  45  46
  46  47  47  48  48  49  49  50  51  51  52  52  53  53  54  54  55  55
  56  56  57  57  58  58  59  59  59  60  60  61  61  62  62  63  63  63
  64  64  65  65  65  66  66  67  67  67  68  68  69  69  69  70  70  71
  71  72  72  72  73  75 130 133 133]