# 曲线拟合 导入基础包: In [1]: ```py import numpy as np import matplotlib as mpl import matplotlib.pyplot as plt ``` ## 多项式拟合 导入线多项式拟合工具: In [2]: ```py from numpy import polyfit, poly1d ``` 产生数据: In [3]: ```py x = np.linspace(-5, 5, 100) y = 4 * x + 1.5 noise_y = y + np.random.randn(y.shape[-1]) * 2.5 ``` 画出数据: In [4]: ```py %matplotlib inline p = plt.plot(x, noise_y, 'rx') p = plt.plot(x, y, 'b:') ``` ![](data:image/png;base64,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) 进行线性拟合,`polyfit` 是多项式拟合函数,线性拟合即一阶多项式: In [5]: ```py coeff = polyfit(x, noise_y, 1) print coeff ``` ```py [ 3.93921315 1.59379469] ``` 一阶多项式 $y = a_1 x + a_0$ 拟合,返回两个系数 $[a_1, a_0]$。 画出拟合曲线: In [6]: ```py p = plt.plot(x, noise_y, 'rx') p = plt.plot(x, coeff[0] * x + coeff[1], 'k-') p = plt.plot(x, y, 'b--') ``` ![](data:image/png;base64,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) 还可以用 `poly1d` 生成一个以传入的 `coeff` 为参数的多项式函数: In [7]: ```py f = poly1d(coeff) p = plt.plot(x, noise_y, 'rx') p = plt.plot(x, f(x)) ``` ![](data:image/png;base64,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) In [8]: ```py f ``` Out[8]: ```py poly1d([ 3.93921315, 1.59379469]) ``` 显示 `f`: In [9]: ```py print f ``` ```py 3.939 x + 1.594 ``` 还可以对它进行数学操作生成新的多项式: In [10]: ```py print f + 2 * f ** 2 ``` ```py 2 31.03 x + 29.05 x + 6.674 ``` ## 多项式拟合正弦函数 正弦函数: In [11]: ```py x = np.linspace(-np.pi,np.pi,100) y = np.sin(x) ``` 用一阶到九阶多项式拟合,类似泰勒展开: In [12]: ```py y1 = poly1d(polyfit(x,y,1)) y3 = poly1d(polyfit(x,y,3)) y5 = poly1d(polyfit(x,y,5)) y7 = poly1d(polyfit(x,y,7)) y9 = poly1d(polyfit(x,y,9)) ``` In [13]: ```py x = np.linspace(-3 * np.pi,3 * np.pi,100) p = plt.plot(x, np.sin(x), 'k') p = plt.plot(x, y1(x)) p = plt.plot(x, y3(x)) p = plt.plot(x, y5(x)) p = plt.plot(x, y7(x)) p = plt.plot(x, y9(x)) a = plt.axis([-3 * np.pi, 3 * np.pi, -1.25, 1.25]) ``` ![](data:image/png;base64,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) 黑色为原始的图形,可以看到,随着多项式拟合的阶数的增加,曲线与拟合数据的吻合程度在逐渐增大。 ## 最小二乘拟合 导入相关的模块: In [14]: ```py from scipy.linalg import lstsq from scipy.stats import linregress ``` In [15]: ```py x = np.linspace(0,5,100) y = 0.5 * x + np.random.randn(x.shape[-1]) * 0.35 plt.plot(x,y,'x') ``` Out[15]: ```py [] ``` ![](data:image/png;base64,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) 一般来书,当我们使用一个 N-1 阶的多项式拟合这 M 个点时,有这样的关系存在: $$XC = Y$$ 即 $$\left[ \begin{matrix} x_0^{N-1} & \dots & x_0 & 1 \\\ x_1^{N-1} & \dots & x_1 & 1 \\\ \dots & \dots & \dots & \dots \\\ x_M^{N-1} & \dots & x_M & 1 \end{matrix}\right] \left[ \begin{matrix} C_{N-1} \\\ \dots \\\ C_1 \\\ C_0 \end{matrix} \right] = \left[ \begin{matrix} y_0 \\\ y_1 \\\ \dots \\\ y_M \end{matrix} \right]$$ ### Scipy.linalg.lstsq 最小二乘解 要得到 `C` ,可以使用 `scipy.linalg.lstsq` 求最小二乘解。 这里,我们使用 1 阶多项式即 `N = 2`,先将 `x` 扩展成 `X`: In [16]: ```py X = np.hstack((x[:,np.newaxis], np.ones((x.shape[-1],1)))) X[1:5] ``` Out[16]: ```py array([[ 0.05050505, 1\. ], [ 0.1010101 , 1\. ], [ 0.15151515, 1\. ], [ 0.2020202 , 1\. ]]) ``` 求解: In [17]: ```py C, resid, rank, s = lstsq(X, y) C, resid, rank, s ``` Out[17]: ```py (array([ 0.50432002, 0.0415695 ]), 12.182942535066523, 2, array([ 30.23732043, 4.82146667])) ``` 画图: In [18]: ```py p = plt.plot(x, y, 'rx') p = plt.plot(x, C[0] * x + C[1], 'k--') print "sum squared residual = {:.3f}".format(resid) print "rank of the X matrix = {}".format(rank) print "singular values of X = {}".format(s) ``` ```py sum squared residual = 12.183 rank of the X matrix = 2 singular values of X = [ 30.23732043 4.82146667] ``` ![](data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAXkAAAEACAYAAABWLgY0AAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAIABJREFUeJzt3Xt0VOW5P/DvQwAvP1mMaA2WW6Aq1YOlXEpTYsvYikXSHyLt8lgFvICCAm29IO2BCrWK/iptj1StWKJH0BYtCgjIqaDEagQEJKkIiNAMQqsRIUmFSCXM8/tjZsxkMpc9s6+z5/tZa1bm8s7e7+wkz37n2e9FVBVERORP7dyuABER2YdBnojIxxjkiYh8jEGeiMjHGOSJiHyMQZ6IyMdMBXkROVlENolItYjsEJH7kpQJikijiGyL3maZ2ScRERnX3sybVfWYiFysqk0i0h7A6yJykaq+nlD0VVUdZWZfRESUPdPpGlVtit7tCKAIwOEkxcTsfoiIKHumg7yItBORagB1ANar6o6EIgpgqIjUiMiLInKB2X0SEZExVrTkw6r6VQDdAXxLRIIJRd4C0ENV+wP4HYDlZvdJRETGiJVz14jIzwF8qqrz0pSpBTBIVQ8nPM9JdIiIsqSqadPhZnvXnCkigej9UwAMB7AtoUyxiEj0/hBETizJ8vZQVd5UMXv2bNfr4JUbjwWPA49F6psRpnrXADgbwJMi0g6RE8ZiVX1ZRCZFg/YCAD8AcLOINANoAnCVyX0SEZFBZrtQvg1gYJLnF8TdfxjAw2b2Q0REueGIVw8KBoNuV8EzeCwieBxa8Fhkx9ILr2aIiHqlLkRE+UBEoHZeeCUiIm9jkCci8jEGeSIiH2OQJyLyMQZ5IiIfY5AnIvIxBnkiIh9jkCcicsvq1UBDQ+vnGhoiz1uEQZ6IyC1lZcDMmS2BvqEh8riszLJdcMQrEZGbYoF9+nTggQeAe+8FAgFDbzUy4pVBnojIbaEQ0Ls3UFsLlJQYfhunNSAi8rqGhkgLvrY28jMxR28SgzwRkVtiqZp774204O+9t3WO3gJM1xARuWX16shF1vgcfEMDUFUFlJdnfDtz8kREPsacPBFRgWOQJyLKhQMDmaxgKsiLyMkisklEqkVkh4jcl6LcfBF5T0RqRGSAmX0SEXmCAwOZrGAqyKvqMQAXq+pXAXwFwMUiclF8GREZCeAcVT0XwE0Afm9mn0REnhAItPSGCYVaeskYHMjklPZmN6CqTdG7HQEUATicUGQUgCejZTeJSEBEilW1zuy+iYhcFQhERqrGBjJ5LMADFuTkRaSdiFQDqAOwXlV3JBTpBmB/3OMDALqb3S8RketsHshkBdNBXlXD0XRNdwDfEpFgkmKJXXzYV5KI8psDA5msYDpdE6OqjSKyGsBgAJVxL/0DQI+4x92jz7UxZ86cz+8Hg0EEg0GrqkdEZK2qqtY5+FiO3uBAplxUVlaisrIyq/eYGgwlImcCaFbVBhE5BcBfAPxCVV+OKzMSwFRVHSkipQD+W1VLk2yLg6GIiLJgZDCU2Zb82QCeFJF2iKR+FqvqyyIyCQBUdYGqvigiI0VkD4CjAK43uU8iIjKI0xoQEeUpTmtARFTgGOSJiHyMQZ6IyMcY5ImIfIxBnojIxxjkiYh8jEGeiMjHGOSJiHyMQZ6IyMcY5ImIfIxBnojIxxjkiYh8jEGeiMjHGOSJiMxavbrtilANDZHnXcYgT0RkVllZ66X/YksDlpW5Wy9wPnkiImvEAvv06ZFFveOXBrSJkfnkGeSJiKwSCgG9ewO1tZHFve2wenXkG0IgwEVDiIgc09AQacHX1kZ+JuborZKYGsqALXkiIrNiqZpYiibxsU37k0cesbclLyI9RGS9iLwjIttF5EdJygRFpFFEtkVvs8zsk4goJ3b2gKmqah3QA4HI46oq89tO4kSnTlg1cKChsqZa8iLSFUBXVa0WkdMAbAUwWlV3xpUJArhNVUdl2BZb8kRkH6db22bF5d4/19CAJXPn4r+efRZnNDVhy8GD9rbkVfVDVa2O3j8CYCeALyYpmrYSRESWS2y5BwLAnXcCY8dGLpB6OcADKbtldh8yBEsGD8bm3bsNbcayC68iUgJgAIBNCS8pgKEiUiMiL4rIBVbtk4gopWRB8le/AubOjfSAmT7duwEegHbuHDkJzZzZ6qR00SmnYMjChYbr3t6KykRTNUsB/Djaoo/3FoAeqtokIpcBWA7gvGTbmTNnzuf3g8EggsGgFdUjokIUy4vH912/885IoI/1gMm2JZ8ihYKqKqC83JJqHzhwAAsWLMDSpUtRXV2Nk6ZP/7xbZmV1NSo3bwY2bza+QVU1dQPQAcBfAPzEYPlaAF2SPK9ERJarrVUFVGtqVG+5RbW+PvJ8fX3rx0YkvieXbSQRDof1lVde0TFjxujpp5+uU6dO1R07drRsv7Y26X6icTN9zM1UIO2bI7n2RQB+m6ZMMVou8A4BEEpRztRBIqI8tGpV2wBZXx953grxQXLkSNVQyPy+MgTeXNxyyy16wQUX6MMPP6z/+te/Wu8nzQnFiSB/EYAwgGoA26K3ywBMAjApWmYKgO3RMm8AKE2xLdMHiojyTKpAtmSJ+eBvU6tbVVu+HdTWmt+WqtbX12t45crWdVu1KnJSiv/MCcfA9iBv5Y1BnqhAJWsZWxGg7fqWkGNLvrm5Wbds2ZJ5u1l8ZgZ5IsoPyVrGNqRFTMshEH/00Ud63333ac+ePTUYDOqJEycyb9/gZ2aQJyLvSxfYLE6LmJbFt4PNmzfr+PHjNRAI6A033KBbt241to8sPrORIM8JyojIPfGjTktKWro8NjSknvDLzQU6ysvbdrkMBJJ2n3zhhRfQr18/7NmzBxUVFRhoZBoCOyY5y3QWcOoGtuSJCk+qlvGSJanTInZeUHWTTTl5zkJJRN6TadCRCwt0JFJVrFu3Dhs3bsTPf/5z8xvMYaAVFw0hImc4MBK0DScW6EiisbERTz75JB555BGcdNJJmDZtGiZMmAAR56fo4qIhROQMp9c4dWqBjgSzZs1C7969UVVVhT/84Q+orq7GxIkTXQnwRrElT0TWcCqF4uKUwevWrcMFF1yAL34x2WS7zmO6hoic5fAap5+zODV04sQJFBUV5b4Bh9JXTNcQkXOcSqFk0Y0xG6qKDRs24JprrsHw4cNNbcvx9FUaDPJEZF66/u4e9+mnn+Lxxx/HoEGDMG7cOAwePBjPPfdc5MVc++THT3NsxQIlqephRKY+lk7dwH7yRPnL7tkkbVRaWqrl5eW6Zs2atlMOmO2Tb9WI3RT1AKc1ICJK7+jRo+kL5DqHjtVz7yTZnpEgzwuvRG708SZH1dfXY8+ePfja176W2wayvaBsVw+ghHrwwiuRER66SEbWqqmpwU033YQ+ffrg2WefzW0juVxQrqpqHdBjOfqqqtzqkGs9AKZriFTVm9PaUk7C4bAuWbJEL7roIu3WrZvefffd+sEHH+S2Ma/Mk2MiJ890DVGMS8PkyXrTpk3DsGHDMHr0aLRv3z73DXkllZeiHnL66RnTNQzyRIAnJrwiyhZz8kRG5HEf70J19OhRPPbYY3jwwQfdrornmQryItJDRNaLyDsisl1EfpSi3HwReU9EakRkgJl9ElnOjotkZIv33nsPt956K3r27IkXX3wR/fv3d7tKnme2JX8cwK2q+h8ASgFMEZHz4wuIyEgA56jquQBuAvB7k/skspZNw+TJOs3NzRg5ciTKyspw8skn46233sLy5csRDAZz22D8CNLY/fiRrE6tNOUAU0FeVT9U1ero/SMAdgJInJ5tFIAno2U2AQiISLGZ/RJRYWnfvj1uu+02vP/++7jvvvvQq1ev5AWNTkMQ3222rAy4447IrazM3i60LixdaFlOXkRKAAwAsCnhpW4A9sc9PgCgu1X7JfIlN9cxddmxY8eSPn/JJZfg5JNPTv9mo2Me4ueWiT/ODQ3ANdcAd97ZtkeNFcfejTEZmfpYGrkBOA3AFgCjk7y2EkBZ3ON1AAYmKaezZ8/+/LZ+/XoLO5kS5Rmv9M92yLFjx3Tx4sVaWlqqU6dONbexbMY8xM8tE7tfU2PvsTcxJmP9+vWt4iScmLsGQAcAfwHwkxSvPwrgqrjHuwAUJymX2wEj8qsCGKD1/vvv68yZM7W4uFiHDx+uy5cv1+bmZvMbNjIxWPzxnTAhcosd61DIumOfbPK2mprM9TPA9iAPQAAsAvDbNGVGAngxer8UwMYU5Ux9WCJfsmoWQzuYnHny6NGj2q1bN502bZru3LnTun0ZOTnGt87r61uCfOzxLbdYFojbfBMIhVT79Wv7jSEHTgT5iwCEAVQD2Ba9XQZgEoBJceUeArAHQE2yVI0yyBO15fWWvAUppc8++8zafRktF3/SiN2PP2mEQqrl5dbPIFlTEwnwoVD6+hnkSLrGqhuDPFEcJ3PyZlrkBk5EO3fu1OrqavP1NHLSs2Jee7uOfXzO30z94jDIE+UrJxfhyKX1G//eioo2aY3jx4/rsmXL9Dvf+Y4WFxfrokWLrKmrE+krO469Td/KGOSJnJLHKyOpauogFP+5YmVCoZbnEy5YHjlwQOfOnas9evTQb3zjG/rUU0/psWPH7K2j19n4rYxBnsgpbnV5tPLkkqyVnO6iYfzFymjZT2+6SadMnKhbt27N5dOkls9dSm1sADDIEznJjZamVcEvXd0TX4v1OqmocO7bS7pAme/fokxgkCdymhtdHo2kWuLLJgY/IyeKuIuGoXHj9Kc336x/Gj7cvouf2cjnVr5JDPJETnIzZ2wk1ZLtBdVYUK6v1xM336wvPfqojurUSbsEAvqTn/xE97z1lrlujFbK13y9SQzyRE5xszWZTaolhzTO/vHjte+55+pXSkp0wdy5euTGG1t/zlwHJFnNywPHbMIgT+QUt/LC2aRacgl+q1bpiUOH9I033tBwONyyDyOfy8mgy5Y8gzyRLxlItRgNfsePH9ejR49aUy8ngy5z8gzyRI4y2qq3u/VvMPh98MEHevfdd2u3bt30iSeecGy/lmHvGgZ5IkcZDXJ2B8M0wS8cDmtVVZVeffXVGggE9MYbb2yZesBs0CzgoOs0Bnkis3INWEbTFS7lkt9++20955xz9De/+Y0ePnw4eZ0KMP2RbxjkyX353qozE/CMXnh0qVfIiRMnUr9YoBcy842RIG/Z8n9ESbmx3JmV4peJC4UiP++9t+3C34kaGoAHHgBqayM/E5fyy7ZcDsLhMNasWYNQKJT09Xbt0vz7BwLA9OlA796Rn5k+L3lXprOAUzewJe9ffmgVZtPaTmztL1nSeo6XWJklS2xJixw+fFh//etf65e+9CUdOHCgbtiwoW0hC3vlWCbfv/W5AEzXkGeY7Kvt6j9/tgEvsb719ZEgv2RJ6+0tWWLp59q3b59OnDhRA4GAXn311bphw4aWvu1G61Rf715OntcCssYgT95gwahL10eTmt23Ay3jUCik99xzj3744Yep9x//ORLXNY295uZJ1Q/f+hzEIE/uy6MgmZTdU/k6KdkxdLtOyXixTh7FIE/u81OQNMOCk1Q4HNZXX31Vr7zyyuR5diPij6EXW81erJOHORLkATwOoA7A2yleDwJoRMtC37NSlLP5cFBeSZVDrqjIv39+k99mPvnkE3300Uf1wgsv1L59++r8+fO1sbEx93rU1iZd8MP1NWSZk8+aU0H+mwAGZAjyLxjYjp3HgvJN4oXA+KCUb//8OX6bCYfD+sorr2iXLl308ssv17Vr17ZcSM2W0R4/XlxDlr1rUjIS5CVSzhwRKQGwUlUvTPJaEMDtqvp/M2xDragL+UisT/2gQcAbbwDz5rX0125oAKqqgPJyd+tos8bGRjQ0NKBXr17mNrR6dWRsQnx/dyePYex3OX16ZDyAkbEGlJGIQFUlbRkHgvwwAM8DOADgHwDuUNUdScoxyFNboVBkQE5tLVBS4nZtbHPo0CEEAgEUFRWZ25DbwTydAvldOslIkG/vQD3eAtBDVZtE5DIAywGcl6zgnDlzPr8fDAYRDAYdqB55VuJoUB+2/rZu3YqHHnoIy5cvx8tz5mDgtdeaC9CxEcaxYxVrQd97rz0fwKgC+F06obKyEpWVldm9KVM+x8gNQAlS5OSTlK0F0CXJ89Ymqyi/+fgi3LFjx3Tx4sX69a9/XXv27Kn333+/Hjx40Lrctdd6qPj4d+k2ONWFMl2QB1CMlrTQEAChFOVsPRiUZ3x6ES4cDuvTTz+tl1xyiS5btkybm5tbFzASoI0ETS91N/Xp79ILjAR50zl5EfkTgGEAzkSkK+VsAB2iUXuBiEwBcDOAZgBNAG5T1Y1JtqNm60KUD1QVImnSqEZy1+kuZPIiZ8Fw7MKrFRjkyU8++eQTPP300xg/fjxOPfVU42/MJkAnOxnE5+ATc/IM9L5jJMhzqmEiC+3atQvTpk1Dr169sG7dOtTX1xt/c3xALilpmeI42fTDqaYorqpqHdBjUyVXVZn+bJSf2JInykVCV8UNGzbg5z/7GbbX1GDilCmYPHkyunfvbmqbAJL3rmFrnaKYrqHCZmef8YTAunHtWvz9V7/C9596CicVF5vbdiZe7gtPjmK6hvLH6tVt0xINDZHnc2XnqlQJK0aVLl+Oq//8Z3sCfOKxiQXy+GMTCDDAU3KZut84dQO7UBY2u/pSp+qSmGW3vqamJn3iiSd06NChWldX1/KCE10V/dTPnN0pLQVONUx5xa5BPMkCscHAWVtbqzNmzNAvfOELOmLECF21alVL33YnBx15bYBTrvx0wvIABnnKP1a3jNMFxwyBc/78+XrGGWforbfeqrt3727dCo29NxRqed7uYOWlAU5m+OWE5QEM8pRfrP7nNzkytK6uTo8cOZJ8e6tWRQJ84vYzpR1yTVf4LTD65YTlMgZ5yh92fI03OMdL7WuvGd+X2WCby+f0W4rDbycsFzHIU/5w+ILcZx99pH/+7nd1WFmZduvWTRv37TMecMy2QrMNcn66WOm3E5bLjAR59pOnglJXV4fHHnsMCx58EH3OOw9TfvxjjBkzBh06dDDW19yqeWEKdW519vG3FAdDESX45S9/if3792Pq1Kn4yle+kt2brRppygnEyCIM8pQ9trRSs+LYcEoCshBHvFL27Bwl6pC9e/di3rx5sLzRUF7eNhBnO9KUE4iRwxjkqbWE4fr50soMh8NYs2YNysvLUVpairq6Onz22WduV6stK04URFlguqYQGUk7xC4M1tQA8blrD6ZuFi9ejF/84hfo3LkzpkyZgh/+8Ic45ZRT3K4Wke2YrqHkMqVkYnOV19QA11wD7NuXvJxHnHnmmXjqqaewZcsW3HDDDQzwRHHYki9UqXp4JF4I3LcP+N73gKefBhYsyIvUTVK8oEw+xN41lF6yvtrJguHf/gb07+9an+5//vOfWLBgAV566SVUVVWhXbscvoCyVwv5kO3pGhF5XETqROTtNGXmi8h7IlIjIgPM7M8UO+Yrz2eplo9LvDDY0BBpwSeWs5mq4q9//SuuvPJK9OvXDx9//DEWLlyYW4AH8vaCMpFpmYbEprsB+CaAAQDeTvH6SAAvRu9/HcDGNNuyYpRvahxO3cLosXDxmI0bN0779u2r8+fP14aGBus2zImxyEfgxNw1AErSBPlHAfxn3ONdAIpTlLX1YKgqJ0aKMToXiotzptTV1Wk4HLZ2o/z9k88YCfKmc/IiUgJgpapemOS1lQDuU9U3oo/XAZihqluTlFWzdTGkUOcM8aATJ05g9+7dOP/88+3fGXPy5ENGcvLtnahHwuOUkXzOnDmf3w8GgwgGg9bWJDEPzX/w3JnorXLo0CFUVFTgkUcewZe//GWsWbMGImn/Ts3XCUg90pS9ayhPVFZWorKyMrs3ZWrqZ7ohc7rmqrjH9qZr0qUXmJO3Vg7Hc8uWLXrddddpIBDQa6+9Vt98803X60SUz+CBnHz8hddS2H3hNd0/uZ/m5HZL4jGsr1edMEG1osJQMJ08ebLef//9evDgweTbi23TzO+EeXcqILYHeQB/AvBPAJ8B2A/gBgCTAEyKK/MQgD0AagAMTLMtaz41/8ntk+wkOnZs5M+ooiL7gG1Xy5s9aKhAGAny/hwMxYur9okfKXvPPZHnZs0C7rkHqorK0aOxPRTCtHHjjF3YNDu3emIevqEBuOMOYOhQYOtWXnchXyvMuWtSDfIhawQCkYDcuzfw738D8+bhkzPOwMN9+6Lf889j2vjxOLWpyXjPlfjtTZ9uLCDHD2yLzcOzbx/wzDORAA8AY8a0DH7i3wAVskxNfadusDsnT9aIHdOKCtUJE3T6tGl6+umn6w9+8ANdv3KlhhcuzC5Vkkt6LfH3Ggqp9uun+rvfRa4RJF434HUX8ikU3ELevLhqryQn0WUjRuj+7dtbv240YJs5KSfuq6aGeXgqOIUX5Mk24XDY+i6qZk/KsQusNTW82E4FiUHea5z+pmFyf+FwWDdu3Khjx47V73//+7buK2uxk0hNTSRVEwq1fp6BngoAg7zXOH3NIMf9NTU16RNPPKGDBg3SPn366AMPPKAff/yxPXXMReL4h1Co7edkio4KgJEg788ulF5mtsugzftTVfTr1w+9evXClClTMGLECBQVFdlXv1xwARAiAFw0xLuc7sef5f4aGxvRuXNn26tFROYUZj95r3O6H3+K/TU2NuKdd95J+hYGeCL/YJB3Uvz0tiUl9g/WSbK/7ZMn4+YbbkBJSQmeeeYZe/bLVbiIPINB3klVVamnu7Vxfyc6dcLSpUsRHD0al776KoqPHcOOHTtw991327Pf2CjUWKCPnWzKyuzZHxGlxJx8AQiHwxg3bhwuv/xyXHHFFejQoYP9O011wZcXTYkswwuv5K5kF3y5QhORZXjhtYA0NTVh4cKFWLRokdtViUh1gTmWopo5M3ISYIAnshWDfJ7bu3cvbr/9dvTs2RMrVqxAr1693K5S5gvMucw8SUQ5YZC3gwO9S5qamlBeXo7S0lIUFRVh8+bNWLlyJYYNG2bZPnKW6QIzp4Mmck6mIbFO3RA/rUG+zybp0LD7ZcuWadNzz+XXseJ00ESWQd7OXeOHQGDhBFrHjx/PvJ98OVb5fgIn8pD8DfKq/lir1cRUuP/+97/1j3/8o5aVlemsWbPSF/bDsSKirDkS5AGMALALwHsAZiR5PQigEcC26G1Wiu20/QRmFmR2u8WY46IWBw4c0Lvuuku7du2qF198sS5dujR9Sz6Gi1dbw+2/G6Is2B7kARQB2AOgBEAHANUAzk8oEwTwgoFtta692dapm2mMVMvTxVr0Kerw8ccf6xlnnKE333yzbo+ttpTN/qJL8nH5OxPyLf1FBc2JIP8NAP8b9/inAH6aUCYIYKWBbbXU3Kp/NDvTGOlafPGvxeoQCiVfQSnBp59+ml094rdXXx8J8rFAzwCVG6a/KE84EeR/AOAPcY/HAvhdQplhAA4BqAHwIoALUmwrUuv6etXZs637ymxXGsPoiSjJyWDXm2/qe489Zk1qIHEbsUBfUcEAZQbTX5QHnAjy3zcQ5DsBODV6/zIAu1NsS2fPmKGzBw/W2TNm6Pr1680fAbtbZFlsv7m5WVesWKGXXnqpnnXWWfrss8/alxpggDKHLXnyqPXr1+vs2bM/vzkR5EsT0jU/S3bxNeE9tQC6JHne2n8op3KrGQJqY2Oj3n///dqrVy8dMmSILlq0qHVKxuqAwgBlDnPylEecCPLtAeyNXnjtmOLCazFaJkIbAiCUYlvWtjyd6CVhIKAeOnRIJ0yYoJs3b069Hata3gxQ5rF3DeURp7pQXgbg3Wgvm59Fn5sEYFL0/hQA26MngDcAlKbYTn4FJC9eHGaAIiooRoK8t6Yarq/Pn1kJ4+ZF379/Px599FEMGzQIl550kvF50TntLhGZkH9TDdu9UpKFdORIvPLWWxgzZgz69++PI0eO4JyvfjW7hS+cXCkq3aRpXK6PyLe81ZL3SF0y2b17N0aPHo127dph6tSpGDt2LE477TS3q5Veum8NAL9REOUhrgxlk2PHjmHjxo0YNmwYRNIeX29JtSRfpteIyJMY5E1qbm5GOBxGx44d3a6KdZItyWfkNSLynPzLyXvERx99hLlz56JPnz5Y7ae8dLrFOriQB5EvMchHqSo2bdqEcePGoW/fvvj73/+OFStW4IorrnC7atZItyRfpuX6iChvMV0T9dprr+G6667DLbfcguuvvx5dunRxrS62iOvy+bmGhpaePKley6a3EBE5ijn5LITDYagqioqKXKsDEVE2/JOTt6gfdzgcxksvvYSDBw+2ea1du3YM8ETkO/kR5MvKWueIYznksjJDb29sbMSDDz6I888/H3feeScOHDjQ8iIHAhGRj+VHkI+NBJ05M9LNz+BAndraWkyePBklJSXYuHEjHn/8cWzbtg0DBgxoKWTyBGIZnmyIyAb5lZPPsh93TU0NVqxYgRtvvBFnn3126oJeGAiUOMr0mWeAtWuBefNaD1jixVAiivJPTh7IqR93//79cdddd6UP8EAkiE6fHjmBDBqUfN92t6gTv62sXdu2Dm58wyCi/JZpmkqnbkhcyDteiml9w4cP6+uvv65XXXWVvvvuuxkm5Uwjfrrf+DVSk+3bbvFzy3MBECJKAwamGs6PlnzCbI1NHTtiYd++GDh4MK6//nqUlpaia9euuW07cSDQvHmR5++4I6v8vyUSv60ALd8wpk/nXDJElLX8yskDWL16Na699loMHToUU6ZMwfDhw9GunYlzVapBQs8/D0yY4Nw8Lslmibzjjshrs2Zx0jAiasNfOfmowYMHY/PmzXjhhRfw3e9+11yAByIXMZMFzq1bnZ3HJXFu+ZjhwznVABHlzLMt+YaGBnTu3Nn5qXy9slpTumkI2LuGiOBQS15ERojILhF5T0RmpCgzP/p6jYgMSFYmZtu2bZg4cSJ69+6NvXv3mq1e9pxcrSmdZN8w4rtSxmN/eiJKwVSQF5EiAA8BGAHgAgA/FJHzE8qMBHCOqp4L4CYAv0+1vbKyMowaNQq9e/fGu+++i3POOcdM9XITH1xjA5QCgZbOGqasAAAGIUlEQVTWs9sB1SuDt4goL5htyQ8BsEdVQ6p6HMASAJcnlBkF4EkAUNVNAAIiUpxsY7fffjtqa2sxc+ZMnHXWWSarZgEvBtQcR/8SUWEyG+S7Adgf9/hA9LlMZbon29iYb38b7du3b3kiU6vZ7qkAvBpQ4wdvsWslEaVhNsgbvWqbeGEg+fuybTXn2tLO5uTgxYDKVZyIyKD2mYuk9Q8APeIe90CkpZ6uTPfoc23M6dQp0mWwrAzBUAjB//mf9EE1vqWdzbwzsZNDsh40iRIDqtst+cTePrHP73a9iMh2lZWVqKyszO5NmYbEprshcpLYC6AEQEcA1QDOTygzEsCL0fulADam2FZknG78sH6jcnmPkSkDUkyn4Or0AqtWtd1/fX3keSIqKDAwrYEVc85cBuBdAHsA/Cz63CQAk+LKPBR9vQbAwBTbyW2uFjPzu2Q6OTCgEpGHORLkrboByL7VbKalncvJgUGfiDwk/4J8tgE016Cb68nBi+kbIipYRoK8Z6c1sJWZKQOSLTBSVcUpCIjIcUamNci/IO+FOV0SV6jyynw3RFRQfDkLpeujUJP1UffqoCkiKnj515IH3FuTNVOLPcs1aImIzPBnuibGjYCaLlUU+4bh5mLgRFRQ/JmuAdwb1p9q+t/4EbRc4IOIPCT/WvJevMjphYvBRFRw/JmuKcSAWoifmYgy8meQL0Re/PZCRK5jkPcTt3oUEZFnMcj7DbtoElEc//auKURcKISIcsAgnw/ic/DsoklEWWC6Jh+wdw0RJcGcPBGRjzEnT0RU4BjkiYh8jEGeiMjH2uf6RhHpAuAZAL0AhABcqaptunuISAjAvwCcAHBcVYfkuk8iIsqOmZb8TwGsVdXzALwcfZyMAgiq6gAGeGMqKyvdroJn8FhE8Di04LHIjpkgPwrAk9H7TwIYnaZs2qu/1Br/iFvwWETwOLTgsciOmSBfrKp10ft1AIpTlFMA60Rki4jcaGJ/RESUpbQ5eRFZC6Brkpdmxj9QVRWRVJ3cy1T1AxH5AoC1IrJLVV/LrbpERJSNnAdDicguRHLtH4rI2QDWq+qXM7xnNoAjqvrrJK9xJBQRUZYyDYbKuXcNgBcAXAvg/0V/Lk8sICKnAihS1U9E5P8AuBTAL3KpKBERZc9MS74LgGcB9ERcF0oR+SKAP6hquYj0AfB89C3tATytqveZrzYRERnhmblriIjIeq6PeBWRESKyS0TeE5EZbtfHLSLyuIjUicjbbtfFbSLSQ0TWi8g7IrJdRH7kdp3cIiIni8gmEakWkR0iUvDfhEWkSES2ichKt+viJhEJicjfosfizZTl3GzJi0gRgHcBXALgHwA2A/ihqu50rVIuEZFvAjgCYJGqXuh2fdwkIl0BdFXVahE5DcBWAKML8e8CiFzbUtUmEWkP4HUAd6jq627Xyy0ichuAQQA6qeoot+vjFhGpBTBIVQ+nK+d2S34IgD2qGlLV4wCWALjc5Tq5ItqttN7teniBqn6oqtXR+0cA7ATwRXdr5R5VbYre7QigCEDaf2o/E5HuAEYCWAgOsgQMHAO3g3w3APvjHh+IPkcEABCREgADAGxytybuEZF2IlKNyKDD9aq6w+06uei3AKYDCLtdEQ8wNNDU7SDPq76UUjRVsxTAj6Mt+oKkqmFV/SqA7gC+JSJBl6vkChH5HoCPVHUb2IoHIgNNBwC4DMCUaMq3DbeD/D8A9Ih73AOR1jwVOBHpAOA5AE+papsxGIVIVRsBrAYw2O26uGQogFHRXPSfAHxbRBa5XCfXqOoH0Z8HASxDJP3dhttBfguAc0WkREQ6AvhPRAZZUQETEQFQAWCHqv632/Vxk4icKSKB6P1TAAwHsM3dWrlDVf9LVXuoam8AVwF4RVXHu10vN4jIqSLSKXo/NtA0ac88V4O8qjYDmArgLwB2AHimgHtQ/AnAGwDOE5H9InK923VyURmAsQAujnYP2yYiI9yulEvOBvBKNCe/CcBKVX3Z5Tp5RSGne4sBvBb3d7FKVV9KVpCDoYiIfMztdA0REdmIQZ6IyMcY5ImIfIxBnojIxxjkiYh8jEGeiMjHGOSJiHyMQZ6IyMf+P3gCky4HG7kGAAAAAElFTkSuQmCC) ### Scipy.stats.linregress 线性回归 对于上面的问题,还可以使用线性回归进行求解: In [19]: ```py slope, intercept, r_value, p_value, stderr = linregress(x, y) slope, intercept ``` Out[19]: ```py (0.50432001884393252, 0.041569499438028901) ``` In [20]: ```py p = plt.plot(x, y, 'rx') p = plt.plot(x, slope * x + intercept, 'k--') print "R-value = {:.3f}".format(r_value) print "p-value (probability there is no correlation) = {:.3e}".format(p_value) print "Root mean squared error of the fit = {:.3f}".format(np.sqrt(stderr)) ``` ```py R-value = 0.903 p-value (probability there is no correlation) = 8.225e-38 Root mean squared error of the fit = 0.156 ``` ![](data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAXkAAAEACAYAAABWLgY0AAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAIABJREFUeJzt3Xt0VOW5P/DvQwAvRxYjWsFyC1SleqiUS/mlhJaxFYukVUSXxyoXCygq0FZrpD1QoVbRX0vbg1UrlugR1KJFAQH5VdCk2ggIaFIRFKEZhFYjQpIWIpUwz++PmTGTyVz2zL7Onu9nrVmZyzt7v7OTPPudZ78XUVUQEZE/dXC7AkREZB8GeSIiH2OQJyLyMQZ5IiIfY5AnIvIxBnkiIh8zFeRF5GQR2SIiNSKyU0TuTVImKCJNIvJm9DbXzD6JiMi4jmberKrHROQiVW0WkY4A/iIiI1X1LwlF/6yql5nZFxERZc90ukZVm6N3OwMoAnA4STExux8iIsqe6SAvIh1EpAZAPYBKVd2ZUEQBjBCRWhF5QUQuMLtPIiIyxoqWfFhVvwygF4Cvi0gwocgbAHqr6iAAvwWwyuw+iYjIGLFy7hoR+SmAT1R1YZoydQCGqurhhOc5iQ4RUZZUNW063GzvmjNFJBC9fwqA0QDeTCjTXUQken84IieWZHl7qCpvqpg3b57rdfDKjceCx4HHIvXNCFO9awCcDeBxEemAyAljmaq+JCLTo0F7MYCrANwsIi0AmgFcY3KfRERkkNkulG8BGJLk+cVx9x8E8KCZ/RARUW444tWDgsGg21XwDB6LCB6HVjwW2bH0wqsZIqJeqQsRUT4QEaidF16JiMjbGOSJiHyMQZ6IyMcY5ImIfIxBnojIxxjkiYh8jEGeiMjHGOSJiNyybh3Q2Nj2ucbGyPMWYZAnInJLaSkwZ05roG9sjDwuLbVsFxzxSkTkplhgLy8HfvlL4J57gEDA0FuNjHhlkCciclsoBPTrB9TVAcXFht/GaQ2IiLyusTHSgq+ri/xMzNGbxCBPROSWWKrmnnsiLfh77mmbo7cA0zVERG5Zty5ykTU+B9/YCFRXA2VlGd/OnDwRkY8xJ09EVOAY5ImIcuHAQCYrmAryInKyiGwRkRoR2Ski96Yod7+IvCcitSIy2Mw+iYg8wYGBTFYwFeRV9RiAi1T1ywAuBHCRiIyMLyMiYwGco6rnArgRwO/M7JOIyBMCgdbeMKFQay8ZgwOZnNLR7AZUtTl6tzOAIgCHE4pcBuDxaNktIhIQke6qWm9230RErgoEIiNVYwOZPBbgAQty8iLSQURqANQDqFTVnQlFegLYH/f4AIBeZvdLROQ6mwcyWcF0kFfVcDRd0wvA10UkmKRYYhcf9pUkovzmwEAmK5hO18SoapOIrAMwDEBV3Et/B9A77nGv6HPtzJ8//7P7wWAQwWDQquoREVmrurptDj6Wozc4kCkXVVVVqKqqyuo9pgZDiciZAFpUtVFETgHwJwA/U9WX4sqMBTBTVceKSAmA/1HVkiTb4mAoIqIsGBkMZbYlfzaAx0WkAyKpn2Wq+pKITAcAVV2sqi+IyFgR2QPgKIDvmdwnEREZxGkNiIjyFKc1ICIqcAzyREQ+xiBPRORjDPJERD7GIE9E5GMM8kREPsYgT0TkYwzyREQ+xiBPRORjDPJERD7GIE9E5GMM8kREPsYgT0TkYwzyRERmrVvXfkWoxsbI8y5jkCciMqu0tO3Sf7GlAUtL3a0XOJ88EZE1YoG9vDyyqHf80oA2MTKfPIM8EZFVQiGgXz+gri6yuLcd1q2LfEMIBLhoCBGRYxobIy34urrIz8QcvVUSU0MZsCVPRGRWLFUTS9EkPrZpf/LQQ/a25EWkt4hUisjbIrJDRL6fpExQRJpE5M3oba6ZfRIR5cTOHjDV1W0DeiAQeVxdbX7bSZzo0gVrhwwxVNZUS15EegDooao1InIagO0AxqnqrrgyQQC3qeplGbbFljwR2cfp1rZZcbn3zzQ2YvmCBfjvZ57BGc3N2HbwoL0teVX9UFVrovePANgF4PNJiqatBBGR5RJb7oEAcMcdwIQJkQukXg7wQMpumb2GD8fyYcOwdfduQ5ux7MKriBQDGAxgS8JLCmCEiNSKyAsicoFV+yQiSilZkPzFL4AFCyI9YMrLvRvgAWjXrpGT0Jw5bU5KI085BcOXLDFc945WVCaaqlkB4AfRFn28NwD0VtVmEbkUwCoA5yXbzvz58z+7HwwGEQwGrageERWiWF48vu/6HXdEAn2sB0y2LfkUKRRUVwNlZZZU+8CBA1i8eDFWrFiBmpoanFRe/lm3zKqaGlRt3Qps3Wp8g6pq6gagE4A/AfihwfJ1ALoleV6JiCxXV6cKqNbWqt5yi2pDQ+T5hoa2j41IfE8u20giHA7ryy+/rOPHj9fTTz9dZ86cqTt37mzdfl1d0v1E42b6mJupQNo3R3LtSwH8Jk2Z7mi9wDscQChFOVMHiYjy0Nq17QNkQ0PkeSvEB8mxY1VDIfP7yhB4c3HLLbfoBRdcoA8++KD+85//bLufNCcUJ4L8SABhADUA3ozeLgUwHcD0aJkZAHZEy7wGoCTFtkwfKCLKM6kC2fLl5oO/Ta1uVW39dlBXZ35bqtrQ0KDhNWva1m3t2shJKf4zJxwD24O8lTcGeaIClaxlbEWAtutbQo4t+ZaWFt22bVvm7WbxmRnkiSg/JGsZ25AWMS2HQPzRRx/pvffeq3369NFgMKgnTpzIvH2Dn5lBnoi8L11gszgtYloW3w62bt2qkyZN0kAgoFOmTNHt27cb20cWn9lIkOcEZUTknvhRp8XFrV0eGxtTT/jl5gIdZWXtu1wGAkm7Tz7//PMYOHAg9uzZg4qKCgwxMg2BHZOcZToLOHUDW/JEhSdVy3j58tRpETsvqLrJppw8Z6EkIu/JNOjIhQU6EqkqNm7ciM2bN+OnP/2p+Q3mMNCKi4YQkTMcGAnajhMLdCTR1NSExx9/HA899BBOOukkzJo1C1OnToWI81N0cdEQInKG02ucOrVAR4K5c+eiX79+qK6uxu9//3vU1NRg2rRprgR4o9iSJyJrOJVCcXHK4I0bN+KCCy7A5z+fbLJd5zFdQ0TOcniN089YnBo6ceIEioqKct+AQ+krpmuIyDlOpVCy6MaYDVXFpk2bcN1112H06NGmtuV4+ioNBnkiMi9df3eP++STT/Doo49i6NChmDhxIoYNG4Znn3028mKuffLjpzm2YoGSVPUwIlMfS6duYD95ovxl92ySNiopKdGysjJdv359+ykHzPbJt2rEbop6gNMaEBGld/To0fQFcp1Dx+q5d5Jsz0iQ54VXIjf6eJOjGhoasGfPHnzlK1/JbQPZXlC2qwdQQj144ZXICA9dJCNr1dbW4sYbb0T//v3xzDPP5LaRXC4oV1e3DeixHH11dW51yLUeANM1RKrqzWltKSfhcFiXL1+uI0eO1J49e+pdd92lH3zwQW4b88o8OSZy8kzXEMW4NEyerDdr1iyMGjUK48aNQ8eOHXPfkFdSeSnqIaefnjFdwyBPBHhiwiuibDEnT2REHvfxLlRHjx7FI488gkWLFrldFc8zFeRFpLeIVIrI2yKyQ0S+n6Lc/SLynojUishgM/skspwdF8nIFu+99x5uvfVW9OnTBy+88AIGDRrkdpU8z2xL/jiAW1X1PwGUAJghIufHFxCRsQDOUdVzAdwI4Hcm90lkLZuGyZN1WlpaMHbsWJSWluLkk0/GG2+8gVWrViEYDOa2wfgRpLH78SNZnVppygGmgryqfqiqNdH7RwDsApA4PdtlAB6PltkCICAi3c3sl4gKS8eOHXHbbbfh/fffx7333ou+ffsmL2h0GoL4brOlpcDtt0dupaX2dqF1YelCy3LyIlIMYDCALQkv9QSwP+7xAQC9rNovkS+5uY6py44dO5b0+Ysvvhgnn3xy+jcbHfMQP7dM/HFubASuuw644472PWqsOPZujMnI1MfSyA3AaQC2ARiX5LU1AErjHm8EMCRJOZ03b95nt8rKSgs7mRLlGa/0z3bIsWPHdNmyZVpSUqIzZ840t7FsxjzEzy0Tu19ba++xNzEmo7Kysk2chBNz1wDoBOBPAH6Y4vWHAVwT9/gdAN2TlMvtgBH5VQEM0Hr//fd1zpw52r17dx09erSuWrVKW1pazG/YyMRg8cd36tTILXasQyHrjn2yydtqazPXzwDbgzwAAbAUwG/SlBkL4IXo/RIAm1OUM/VhiXzJqlkM7WBy5smjR49qz549ddasWbpr1y7r9mXk5BjfOm9oaA3ysce33GJZIG73TSAUUh04sP03hhw4EeRHAggDqAHwZvR2KYDpAKbHlXsAwB4AtclSNcogT9Se11vyFqSUPv30U2v3ZbRc/Ekjdj/+pBEKqZaVWT+DZG1tJMCHQunrZ5Aj6RqrbgzyRHGczMmbaZEbOBHt2rVLa2pqzNfTyEnPinnt7Tr28Tl/M/WLwyBPlK+cXIQjl9Zv/HsrKtqlNY4fP64rV67Ub37zm9q9e3ddunSpNXV1In1lx7G36VsZgzyRU/J4ZSRVTR2E4j9XrEwo1Pp8wgXLIwcO6IIFC7R379761a9+VZ944gk9duyYvXX0Ohu/lTHIEznFrS6PVp5ckrWS0100jL9YGS37yY036oxp03T79u25fJrU8rlLqY0NAAZ5Iie50dK0Kvilq3via7FeJxUVzn17SRco8/1blAkM8kROc6PLo5FUS3zZxOBn5EQRd9EwNHGi/vjmm/UPo0fbd/EzG/ncyjeJQZ7ISW7mjI2kWrK9oBoLyg0NeuLmm/XFhx/Wy7p00W6BgP7whz/UPW+8Ya4bo5XyNV9vEoM8kVPcbE1mk2rJIY2zf9IkHXDuuXphcbEuXrBAj9xwQ9vPmeuAJKt5eeCYTRjkiZziVl44m1RLLsFv7Vo9ceiQvvbaaxoOh1v3YeRzORl02ZJnkCfyJQOpFqPB7/jx43r06FFr6uVk0GVOnkGeyFFGW/V2t/4NBr8PPvhA77rrLu3Zs6c+9thjju3XMuxdwyBP5CijQc7uYJgm+IXDYa2urtZrr71WA4GA3nDDDa1TD5gNmgUcdJ3GIE9kVq4By2i6wqVc8ltvvaXnnHOO/vrXv9bDhw8nr1MBpj/yDYM8uS/fW3VmAp7RC48u9Qo5ceJE6hcL9EJmvjES5C1b/o8oKTeWO7NS/DJxoVDk5z33tF/4O1FjI/DLXwJ1dZGfiUv5ZVsuB+FwGOvXr0coFEr6eocOaf79AwGgvBzo1y/yM9PnJe/KdBZw6ga25P3LD63CbFrbia395cvbzvESK7N8uS1pkcOHD+uvfvUr/cIXvqBDhgzRTZs2tS9kYa8cy+T7tz4XgOka8gyTfbVd/efPNuAl1rehIRLkly9vu73lyy39XPv27dNp06ZpIBDQa6+9Vjdt2tTat91onRoa3MvJ81pA1hjkyRssGHXp+mhSs/t2oGUcCoX07rvv1g8//DD1/uM/R+K6prHX3Dyp+uFbn4MY5Ml9eRQkk7J7Kl8nJTuGbtcpGS/WyaMY5Ml9fgqSZlhwkgqHw/rKK6/o1VdfnTzPbkT8MfRiq9mLdfIwR4I8gEcB1AN4K8XrQQBNaF3oe26KcjYfDsorqXLIFRX5989v8tvMkSNHdPHixXrhhRfqgAEDdNGiRdrU1JR7Perqki744foasszJZ82pIP81AIMzBPnnDWzHzmNB+SbxQmB8UMq3f34T32Zefvll7datm15++eW6YcOG1gup2TLa48eLa8iyd01KRoK8RMqZIyLFANao6peSvBYE8CNV/U6GbagVdSEfifWpHzoUeO01YOHC1v7ajY1AdTVQVuZuHW3W1NSExsZG9O3b19yG1q2LjE2I7+/u5DGM/S7LyyPjAYyMNaCMRASqKmnLOBDkRwF4DsABAH8HcLuq7kxSjkGe2guFIgNy6uqA4mK3a2ObQ4cOIRAIoKioyNyG3A7m6RTI79JJRoJ8Rwfq8QaA3qraLCKXAlgF4LxkBefPn//Z/WAwiGAw6ED1yLMSR4P6sPW3fft2PPDAA1i1ahVemj8fQyZPNhegYyOMY8cq1oK+5x57PoBRBfC7dEJVVRWqqqqye1OmfI6RG4BipMjJJylbB6BbkuetTVZRfvPxRbhjx47psmXLtKSkRPv06aP33XefHjx40Lrctdd6qPj4d+k2ONWFMl2QB9AdrWmh4QBCKcrZejAoz/j4ItxTTz2lF198sa5cuVJbWlravmgkQBsJml7qburj36XbjAR50zl5EfkDgFEAzkSkK+U8AJ2iUXuxiMwAcDOAFgDNAG5T1c1JtqNm60KUD1QVImnSqEZy1+kuZPIiZ8Fw7MKrFRjkyU/+9a9/4cknn8SkSZNw6qmnGn9jNgE62ckgPgefmJNnoPcdI0GeUw0TWWjXrl2YNWsW+vbti40bN6KhocH4m+MDcnFx6xTHyaYfTjVFcXV124Aemyq5utr0Z6P8xJY8US4Suipu2rQJP/3JT7CjthY3zJyJ6dOno1evXqa2CSB57xq21imK6RoqbHb2GU8IrJs3bMDffvELXPnEEzipe3dz287Ey33hyVFM11D+WLeufVqisTHyfK7sXJUqYcWoklWrcO0f/2hPgE88NrFAHn9sAgEGeEouU/cbp25gF8rCZldf6lRdErPs1tfc3KyPPfaYjhgxQuvr61tfcKKrop/6mbM7paXAqYYpr9g1iCdZIDYYOOvq6nT27Nn6uc99TseMGaNr165t7dvu5KAjrw1wypWfTlgewCBP+cfqlnG64JghcN5///16xhln6K233qq7d+9u2wqNvTcUan3e7mDlpQFOZvjlhOUBDPKUX6z+5zc5MrS+vl6PHDmSfHtr10YCfOL2M6Udck1X+C0w+uWE5TIGecofdnyNNzjHS92rrxrfl9lgm8vn9FuKw28nLBcxyFP+cPiC3KcffaR//Na3dFRpqfbs2VOb9u0zHnDMtkKzDXJ+uljptxOWy4wEefaTp4JSX1+PRx55BIsXLUL/887DjB/8AOPHj0enTp2M9TW3al6YQp1bnX38LcXBUEQJfv7zn2P//v2YOXMmLrzwwuzebNVIU04gRhZhkKfssaWVmhXHhlMSkIU44pWyZ+coUYfs3bsXCxcuhOWNhrKy9oE425GmnECMHMYgT20lDNfPl1ZmOBzG+vXrUVZWhpKSEtTX1+PTTz91u1rtWXGiIMoC0zWFyEjaIXZhsLYWiM9dezB1s2zZMvzsZz9D165dMWPGDHz3u9/FKaec4na1iGzHdA0llyklE5urvLYWuO46YN++5OU84swzz8QTTzyBbdu2YcqUKQzwRHHYki9UqXp4JF4I3LcP+Pa3gSefBBYvzovUTVK8oEw+xN41lF6yvtrJguFf/woMGuRan+5//OMfWLx4MV588UVUV1ejQ4ccvoCyVwv5kO3pGhF5VETqReStNGXuF5H3RKRWRAab2Z8pdsxXns9SLR+XeGGwsTHSgk8sZzNVxSuvvIKrr74aAwcOxMcff4wlS5bkFuCBvL2gTGRapiGx6W4AvgZgMIC3Urw+FsAL0fv/B8DmNNuyYpRvahxO3crosXDxmE2cOFEHDBig999/vzY2Nlq3YU6MRT4CJ+auAVCcJsg/DOC/4h6/A6B7irK2HgxV5cRIMUbnQnFxzpT6+noNh8PWbpS/f/IZI0HedE5eRIoBrFHVLyV5bQ2Ae1X1tejjjQBmq+r2JGXVbF0MKdQ5QzzoxIkT2L17N84//3z7d8acPPmQkZx8RyfqkfA4ZSSfP3/+Z/eDwSCCwaC1NUnMQ/MfPHcmeqscOnQIFRUVeOihh/DFL34R69evh0jav1PzdQJSjzRl7xrKE1VVVaiqqsruTZma+pluyJyuuSbusb3pmnTpBebkrZXD8dy2bZtef/31GggEdPLkyfr666+7XieifAYP5OTjL7yWwO4Lr+n+yf00J7dbEo9hQ4Pq1KmqFRWGgulNN92k9913nx48eDD59mLbNPM7Yd6dCojtQR7AHwD8A8CnAPYDmAJgOoDpcWUeALAHQC2AIWm2Zc2n5j+5fZKdRCdMiPwZVVRkH7DtanmzBw0VCCNB3p+DoXhx1T7xI2Xvvjvy3Ny5wN13Q1VRefnl2BEK4fuTJhm7sGl2bvXEPHxjI3D77cCIEcD27bzuQr5WmHPXpBrkQ9YIBCIBuV8/4N//BhYuxL/OOAMPDhiA/3zuOXx/8mT8xyefGO+5Er+98nJjATl+YFtsHp59+4Cnn44EeAAYP7518BP/BqiQZWrqO3WD3Tl5skbsmFZUqE6dquWzZunpp5+uV111lVauWaPhJUuyS5Xkkl5L/L2GQqoDB6r+9reRawSJ1w143YV8CgW3kDcvrtoryUl05Zgxun/HjravGw3YZk7KifuqrWUengpO4QV5sk04HLa+i6rZk3LsAmttLS+2U0FikPcap79pmNxfOBzWzZs364QJE/TKK6+0dV9Zi51EamsjqZpQqO3zDPRUABjkvcbpawY57q+5uVkfe+wxHTp0qPbv318XLlyohw4dsqeOuUgc/xAKtf+cTNFRATAS5P3ZhdLLzHYZtHl/qoqBAweib9++mDFjBsaMGYOioiL76pcLLgBCBICLhniX0/34s9xfU1MTunbtanu1iMicwuwn73VO9+NPsb+mpia8/fbbSd/CAE/kHwzyToqf3ra42P7BOkn2t+Omm3DzlCkoLi7G008/bc9+uQoXkWcwyDupujr1dLc27u9Ely5YsWIFguPG4ZI//xndjx3Dzp07cdddd9mz39go1Figj51sSkvt2R8RpcScfAEIh8OYOHEiLr/8clxxxRXo1KmT/TtNdcGXF02JLMMLr+SuZBd8uUITkWV44bWANDc3Y8mSJVi6dKnbVYlIdYE5lqKaMydyEmCAJ7IVg3ye27t3L370ox+hT58+WL16Nfr27et2lTJfYM5l5kkiygmDvB0c6F3S3NyMsrIylJSUoKioCFu3bsWaNWswatQoy/aRs0wXmDkdNJFzMg2JdeqG+GkN8n02SYeG3a9cuVKbn302v44Vp4Mmsgzydu4aPwQCCyfQOn78eOb95MuxyvcTOJGH5G+QV/XHWq0mpsL997//rU899ZSWlpbq3Llz0xf2w7Eioqw5EuQBjAHwDoD3AMxO8noQQBOAN6O3uSm20/4TmFmQ2e0WY46LWhw4cEDvvPNO7dGjh1500UW6YsWK9C35GC5ebQ23/26IsmB7kAdQBGAPgGIAnQDUADg/oUwQwPMGttW29mZbp26mMVItTxdr0aeow8cff6xnnHGG3nzzzbojttpSNvuLLsnH5e9MyLf0FxU0J4L8VwH8v7jHPwbw44QyQQBrDGyrteZW/aPZmcZI1+KLfy1Wh1Ao+QpKCT755JPs6hG/vYaGSJCPBXoGqNww/UV5wokgfxWA38c9ngDgtwllRgE4BKAWwAsALkixrUitGxpU582z7iuzXWkMoyeiJCeDd15/Xd975BFrUgOJ24gF+ooKBigzmP6iPOBEkL/SQJDvAuDU6P1LAexOsS2dN3u2zhs2TOfNnq2VlZXmj4DdLbIstt/S0qKrV6/WSy65RM866yx95pln7EsNMECZw5Y8eVRlZaXOmzfvs5sTQb4kIV3zk2QXXxPeUwegW5Lnrf2Hciq3miGgNjU16X333ad9+/bV4cOH69KlS9umZKwOKAxQ5jAnT3nEiSDfEcDe6IXXzikuvHZH60RowwGEUmzL2panE70kDATUQ4cO6dSpU3Xr1q2pt2NVy5sByjz2rqE84lQXyksBvBvtZfOT6HPTAUyP3p8BYEf0BPAagJIU28mvgOTFi8MMUEQFxUiQ99ZUww0N+TMrYdy86Pv378fDDz+MUUOH4pKTTjI+Lzqn3SUiE/JvqmG7V0qykI4di5ffeAPjx4/HoEGDcOTIEZzz5S9nt/CFkytFpZs0jcv1EfmWt1ryHqlLJrt378a4cePQoUMHzJw5ExMmTMBpp53mdrXSS/etAeA3CqI8xJWhbHLs2DFs3rwZo0aNgkja4+stqZbky/QaEXkSg7xJLS0tCIfD6Ny5s9tVsU6yJfmMvEZEnpN/OXmP+Oijj7BgwQL0798f6/yUl063WAcX8iDyJQb5KFXFli1bMHHiRAwYMAB/+9vfsHr1alxxxRVuV80a6Zbky7RcHxHlLaZrol599VVcf/31uOWWW/C9730P3bp1c60utojr8vmZxsbWnjypXsumtxAROYo5+SyEw2GoKoqKilyrAxFRNvyTk7eoH3c4HMaLL76IgwcPtnutQ4cODPBE5Dv5EeRLS9vmiGM55NJSQ29vamrCokWLcP7556O8vBwHDhxofZEDgYjIx/IjyMdGgs6ZE+nmZ3CgTl1dHW666SYUFxdj8+bNqKioQE1NDQYPHtxayOQJxDI82RCRDfIrJ59lP+7a2lqsXr0aN9xwA84+++zUBb0wEChxlOnTTwMbNgALF7YdsMSLoUQU5Z+cPJBTP+5BgwbhzjvvTB/ggUgQLS+PnECGDk2+b7tb1InfVjZsaF8HN75hEFF+yzRNpVM3JC7kHS/FtL7hw4f11Vdf1WuuuUbffffdDJNyphE/3W/8GqnJ9m23+LnluQAIEaUBA1MN50dLPmG2xubOnbFkwAAMHjoUU6ZMQUlJCXr06JHbthMHAi1cGHn+9tuzyv9bIvHbCtD6DaO8nHPJEFHW8isnD2DdunWYPHkyRowYgRkzZmD06NHo0MHEuSrVIKHnngOmTnVuHpdks0TefnvktblzOWkYEbXjr5x81LBhw7B161Y8//zz+Na3vmUuwAORi5jJAuf27c7O45I4t3zM6NGcaoCIcubZlnxjYyO6du3q/FS+XlmtKd00BOxdQ0RwqCUvImNE5B0ReU9EZqcoc3/09VoRGZysTExNTQ2mTZuGfv36Ye/evWarlz0nV2tKJ9k3jPiulPHYn56IUjAV5EWkCMADAMYAuADAd0Xk/IQyYwGco6rnArgRwO9SbW/kyJH4zne+g379+uHdd9/FOeecY6Z6uYkPrrEBSoFAa+vZ7YDqlcFbRJQHACPfAAAGGUlEQVQXzLbkhwPYo6ohVT0OYDmAyxPKXAbgcQBQ1S0AAiLSPdnGbrvtNtTV1WHOnDk466yzTFbNAl4MqDmO/iWiwmQ2yPcEsD/u8YHoc5nK9Eq2sfHf+AY6duzY+kSmVrPdUwF4NaDGD95i10oiSsNskDd61TbxwkDy92Xbas61pZ3NycGLAZWrOBGRQR0zF0nr7wB6xz3ujUhLPV2ZXtHn2pnfpUuky2BpKYKhEIL/+7/pg2p8SzubeWdiJ4dkPWgSJQZUt1vyib19Yp/f7XoRke2qqqpQVVWV3ZsyDYlNd0PkJLEXQDGAzgBqAJyfUGYsgBei90sAbE6xrcg43fhh/Ubl8h4jUwakmE7B1ekF1q5tv/+GhsjzRFRQYGBaAyvmnLkUwLsA9gD4SfS56QCmx5V5IPp6LYAhKbaT21wtZuZ3yXRyYEAlIg9zJMhbdQOQfavZTEs7l5MDgz4ReUj+BflsA2iuQTfXk4MX0zdEVLCMBHnPTmtgKzNTBiRbYKS6mlMQEJHjjExrkH9B3gtzuiSuUOWV+W6IqKD4chZK10ehJuuj7tVBU0RU8PKvJQ+4tyZrphZ7lmvQEhGZ4c90TYwbATVdqij2DcPNxcCJqKD4M10DuDesP9X0v/EjaLnABxF5SP615L14kdMLF4OJqOD4M11TiAG1ED8zEWXkzyBfiLz47YWIXMcg7ydu9SgiIs9ikPcbdtEkojj+7V1TiLhQCBHlgEE+H8Tn4NlFk4iywHRNPmDvGiJKgjl5IiIfY06eiKjAMcgTEfkYgzwRkY91zPWNItINwNMA+gIIAbhaVdt19xCREIB/AjgB4LiqDs91n0RElB0zLfkfA9igqucBeCn6OBkFEFTVwQzwxlRVVbldBc/gsYjgcWjFY5EdM0H+MgCPR+8/DmBcmrJpr/5SW/wjbsVjEcHj0IrHIjtmgnx3Va2P3q8H0D1FOQWwUUS2icgNJvZHRERZSpuTF5ENAHokeWlO/ANVVRFJ1cm9VFU/EJHPAdggIu+o6qu5VZeIiLKR82AoEXkHkVz7hyJyNoBKVf1ihvfMA3BEVX+V5DWOhCIiylKmwVA5964B8DyAyQD+b/TnqsQCInIqgCJV/ZeI/AeASwD8LJeKEhFR9sy05LsBeAZAH8R1oRSRzwP4vaqWiUh/AM9F39IRwJOqeq/5ahMRkRGembuGiIis5/qIVxEZIyLviMh7IjLb7fq4RUQeFZF6EXnL7bq4TUR6i0iliLwtIjtE5Ptu18ktInKyiGwRkRoR2SkiBf9NWESKRORNEVnjdl3cJCIhEflr9Fi8nrKcmy15ESkC8C6AiwH8HcBWAN9V1V2uVcolIvI1AEcALFXVL7ldHzeJSA8APVS1RkROA7AdwLhC/LsAIte2VLVZRDoC+AuA21X1L27Xyy0ichuAoQC6qOplbtfHLSJSB2Coqh5OV87tlvxwAHtUNaSqxwEsB3C5y3VyRbRbaYPb9fACVf1QVWui948A2AXg8+7Wyj2q2hy92xlAEYC0/9R+JiK9AIwFsAQcZAkYOAZuB/meAPbHPT4QfY4IACAixQAGA9jibk3cIyIdRKQGkUGHlaq60+06ueg3AMoBhN2uiAcYGmjqdpDnVV9KKZqqWQHgB9EWfUFS1bCqfhlALwBfF5Ggy1VyhYh8G8BHqvom2IoHIgNNBwO4FMCMaMq3HbeD/N8B9I573BuR1jwVOBHpBOBZAE+oarsxGIVIVZsArAMwzO26uGQEgMuiueg/APiGiCx1uU6uUdUPoj8PAliJSPq7HbeD/DYA54pIsYh0BvBfiAyyogImIgKgAsBOVf0ft+vjJhE5U0QC0funABgN4E13a+UOVf1vVe2tqv0AXAPgZVWd5Ha93CAip4pIl+j92EDTpD3zXA3yqtoCYCaAPwHYCeDpAu5B8QcArwE4T0T2i8j33K6Ti0oBTABwUbR72JsiMsbtSrnkbAAvR3PyWwCsUdWXXK6TVxRyurc7gFfj/i7WquqLyQpyMBQRkY+5na4hIiIbMcgTEfkYgzwRkY8xyBMR+RiDPBGRjzHIExH5GIM8EZGPMcgTEfnY/we7I5NFwW+W8wAAAABJRU5ErkJggg==) 可以看到,两者求解的结果是一致的,但是出发的角度是不同的。 ## 更高级的拟合 In [21]: ```py from scipy.optimize import leastsq ``` 先定义这个非线性函数:$y = a e^{-b sin( f x + \phi)}$ In [22]: ```py def function(x, a , b, f, phi): """a function of x with four parameters""" result = a * np.exp(-b * np.sin(f * x + phi)) return result ``` 画出原始曲线: In [23]: ```py x = np.linspace(0, 2 * np.pi, 50) actual_parameters = [3, 2, 1.25, np.pi / 4] y = function(x, *actual_parameters) p = plt.plot(x,y) ``` ![](data:image/png;base64,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) 加入噪声: In [24]: ```py from scipy.stats import norm y_noisy = y + 0.8 * norm.rvs(size=len(x)) p = plt.plot(x, y, 'k-') p = plt.plot(x, y_noisy, 'rx') ``` ![](data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAXAAAAEACAYAAACqOy3+AAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAIABJREFUeJzt3Xl4FGW2BvD3EBgFAgRIlIiQBIngoCyiLIIQEWUJq4CIAiIMBEZRwQmKzAhyL8OwKffOFRQGHcZBUVRACBDWyKYgKFuCsiWyxoGQRkjYkj73j+4shCR0J91dVZ339zx56K5e6pBUn/7q1LeIqoKIiKynnNEBEBFRyTCBExFZFBM4EZFFMYETEVkUEzgRkUUxgRMRWZRLCVxE6ojIJhFJFJEDIvKyc/skETkpIj86fzp7N1wiIsohrvQDF5FaAGqp6h4RCQSwG0AvAE8DuKiq73g3TCIiKqi8K09S1VQAqc7bl0TkIIDazofFS7EREVEx3K6Bi0g4gGYAvnNuGi0ie0VkgYgEeTA2IiIqhlsJ3Fk++QLAK6p6CcBcABEAmgI4A2CWxyMkIqJCuVQDBwARqQBgJYDVqjq7kMfDAaxQ1QcKbOdkK0REJaCqxZaoXe2FIgAWAEjKn7xFJDTf03oD2F9EEJb9mThxouExlNX4rRw74zf+x+rxu8Kli5gA2gAYCGCfiPzo3PYmgAEi0hSAAkgGEOPi+xERUSm52gtlKwpvra/2bDhEROQqjsS8haioKKNDKBUrx2/l2AHGbzSrx+8Kly9ilngHIurtfRAR+RsRgXriIiYREZkPEzgRkUUxgRMRWRQTOBGRRTGBExFZFBM4EZFFMYETEVkUEzgRkUUxgRMRWRQTOBGRRTGBExFZFBM4EZFFMYETEVkUEzgRkUUxgZO5xcUBNtuN22w2YNKkwrfHxfksNCKjMYGTubVpA0yYgA1ffom2bduiU8uW+PK++/DUihX48r770KllSwwfPhzZaWnAhAmO5xOVEVzQgUzv+L59WN+qFUKmTcNDmzbhlxEjkF2lCgIuXkTYvHkYc/o0XrPb8fDatUBQkNHhEnmEKws6MIGTqV27dg3t2rXD0A4dMGLqVCA5GQgPz3tCSgoQEYGHg4Mx7bPP0KFDB6NCJfIorshDljd+/HhEVK+O4TabI3nPmJFX+7bZHPeTk/FV69b447PPIjU11diAiXyILXAyreXLl+Mvo0dj5xNP4PZZsxzlEZvNUeseNw6YPh2YMiV3+44nnsCUihWxdNMmBAQEGB0+UamwhEKWlZKSgpYtW+KbcePQcNiwG2vbNhswezbw6qs3bM9OS8OfH3sMt/fpg4kTJxoQNZHnMIGTJeXUvZ9++mmMHTvWrdeeOXMGzZs3x7///W/Ww8nSmMDJksaOHYsjR45g+fLlECn2+C3U+vXrMXjwYPzwww+oVauWFyIk8j4mcLKc1atXY9SoUfjhhx9Qo0aNEr/PxIkTsX37dqxdu7ZEXwJERmMCJ8tp27Ytxo4di6eeeqpU75OdnY3IyEgsXrwYLVq08FB0RL7DboRkKfv370dKSgp69OhR6vcKCAhATEwM5s6d64HIiMzJpQQuInVEZJOIJIrIARF52bm9hoisE5FDIrJWRDgMjkomLg7/nD0bw4cPR/ny5R3bSjK3Sb65U4YOHYply5YhPTmZc6SQX3K1BX4dwBhVbQSgFYAXReQ+AG8AWKeq9wLY4LxP5LaLjRvjvkWLMLxfP8eGnP7e7s5t4pw7BTYbQkJC0O+JJ/DLoEGcI4X8kksJXFVTVXWP8/YlAAcB1AbQA8BC59MWAujljSDJ/y2Ki8M3TzyBu957zzE8fsKEvEE67ggKcrxuwgQgJQVvZ2Vh2JkzsFet6pW4iYzk9kVMEQkH8A2A+wEcV9Xqzu0C4HzO/XzP50VMKpaqokmTJnjnnXfQsX59ICLi5jlP3OWcI0WPHUOTnj0d792xo6dCJvI6j1/EFJFAAF8CeEVVL+Z/zJmlmanJbdu3b8eVK1fQ4cEHc+c2uWHOE3flmyNFZs7EK88/z4uZ5JdcboGLSAUAKwGsVtXZzm0/AYhS1VQRCQWwSVUbFnid5h/WHBUVhaioKA+FT/5g4MCBaH3ffXjx9Okb5jYpURml4OtsNlyLjUXk559je1ISateu7b3/CFEpJCQkICEhIff+22+/7Zl+4M7yyEIAaao6Jt/26c5t00TkDQBBqvpGgdeyhEJFOnv2LCIjI3Hi/fdRpXPnm+c82bYNiI52/Q3j4hwXLAu8z3vPPotzLVtyjhSyDI8N5BGRtgA2A9iHvDLJeAA7AXwOoC6AFABPq6qtwGuZwKlI06dPR1JSEv75z396dT/79u1D165dkZKSktdNkcjEOBKTTM1utyMyMhKffPIJWrZs6fX9tWnTBn/605/Qu3dvr++LqLQ4EpNMbe3atahWrZrPhrqPGjWKFzPJrzCBk2Hmzp2LUaNG+Wyyqb59+2LPnj04fPiwT/ZH5G0soZAhjh8/jqZNm+LEiROoXLmyz/Y7btw42O12zJw502f7JCoJllDIfJxzlSxYsADPPfecI3mXZM6TEoqJicHChQtx9epVn+yPyJuYwMm3nHOVrPrkEwwePLjkc56U0D333IOGDRtiw4YNPtkfkTcxgZNvBQXh58GD8dKZM3goOLjkc56UQu/evbF06VKf7Y/IW5jAyee+3LABx/r0gdSrB8TG+i55O8s3vXv3xtdff43s7Gyflm+IPI0JnHxu3ZIlGG6zlX7OE3c5yzcR1asjNDQUO+LjfVq+IfI09kIhnzp54ADiH3oIz588ifLBwSWf86SknPubXaECHkpIQNuEBJ+Wb4hcxZGYZDorRo7E6t9+w5xPPsnbWJI5T0rDOdVs29q1seXECS56TKbEboRkOu8eOoRO/fvfuDEoyHfJ2znVrB47hpiLF3Fg61bf7JfIC5jAyWfS0tKwe/duPPnkk8YEkK9cIxER+HnQIFweO9Z3NXgiD2MCJ59ZsWIFOnbsiIoVKxoTwLZtN9TauwwYgDGZmY7tRBbEBE4+s3TpUmNnAoyOvuGCZevWrXE0LQ1HGzYs5kVE5sUETj6RkZGBTZs2IdpXtW4XlCtXDj179uSgHrIsJnDyiTVr1qBVq1aoXr36rZ/sQxyVSVbGBE4+YXj5pAgdOnRAUlISUlNTjQ6FyG1M4OR1165dw6pVq9CzZ0+jQ7nJ7373O3Tp0gXLly83OhQitzGBk9clJCSgQYMGuOuuu4wOpVAso5BVMYGT15m1fJKjS5cu2L59Oy5cuGB0KERuYQInr7Lb7Vi+fLmpE3hgYCDat2+POM5KSBbDBE5etWPHDtSoUQORkZFGh1IsllHIipjAyavMXj7J0b17d6xbtw6XL182OhQilzGBk3c4F0/4+uuv0atXL8c2Ey+eEBISgiZNmmDjxo1Gh0LkMiZw8o42bXDhpZeg6elo1qyZz9e+LIno6GisXr3a6DCIXMYETt4RFITFDzyAuTVqoNzx44asfemurl27Ii4uDpy/nqyCCZy8ZllCAq6MHg1ERPh27Ut3Ocs9jRo1QnZ2Nn766SdTl3uIcjCBk1dkZmZi/5YtePzHH32/9qW7nGtlyoUL6Nq1KzZ8+aXpyz1EAJdUIy+J/+wzXB47Fr0SEx0tb1+vfekuZ3zrmzVDxqRJ6HnggDnjpDLDY2tiisiHAKIB/EdVH3BumwTgDwDOOp82XlXXFPJaJvAyaE50NLJatsTLb72Vt9HXa1+6y7lWZqNKlfDtmTOoWrWq0RFRGebJNTE/AtC5wDYF8I6qNnP+3JS8qWxSVUxPTMTjffrc+IAv1750l3OtTCQnY2rNmviGk1uRBbiUwFV1C4D0Qh7ict50k4MHD0JV8fvf/97oUFyTv7wTHo5To0ah8tSp5q3ZEzmV9iLmaBHZKyILRIQFQwIArFq1Cl27doWIRb7fC6yV2bFvX/zx/HkoV6wnkytfitfOBTDZefu/AMwCMKywJ06aNCn3dlRUFKKiokqxWzK7uLg4vPbaa0aH4boCZZ3IyEjYq1bF3rvvRlODQqKyJyEhAQkJCW69xuVeKCISDmBFzkVMNx7jRcwy5MKFC7j77ruRmpqKypUrGx1Oib366qu444478OabbxodCpVRnryIWdibh+a72xvA/pK+F/mP9evXo02bNpZO3kDeqEwiM3OphCIinwJoDyBYRE4AmAggSkSawtEbJRlAjNeiJMvIqX9bXbt27bB//36kpaWhZs2aRodDVCgO5CGPsdvtqF27NrZs2YL69esbHU6p9ejRAwMGDMCAAQOMDoXKIK+WUIgK2rNnD6pWreoXyRtwzE64atUqo8MgKhITOHmMv5RPcnTp0gVr1qxBdna20aEQFYoJnDzG3xJ43bp1UatWLXz//fdGh0JUKCZw8ohz584hMTER7dq1MzoUj+ratSvLKGRaTODkEfHx8Xjsscdw2223GR2KR7EOTmbGBE4e4W/lEwBAXBxa33cfjh49itTUVMc2LvRAJsIETqWWlZWF+Ph4dOnSxehQPKtNG1SYNAk927d3tMItsK4nlS3sB06ltnXrVrz00kvYs2eP0aF4ns2Gn/r2xezy5fH+PfeYd0EK8juu9AMvzWRWRACAlStXolu3bkaH4R1BQQiZNg3vP/QQrv70E25j8iYTYQmFSicuDgnLlqF79+552/ypTmyzoeaHH6LPgw/i19hYzhFOpsIETqWSUrs2Rhw/jocjIx0b/KlOnG+hh4f69sV7oaGO+0ziZBKsgVOp/P3vf8fBb7/FnOrVgdhYx7Jk/lInjotzfBEFBWH//v3o2bMnju7eDdm+3bxLw5Hf8NiixqUMggncj3Xq1AkjRoxAn+bNgYgIIDkZCA83OiyPU1WEh4dj9erV1lkqjiyNk1mRV128eBHbt2/Hky1a5C4IjBkz/LLEICLo1q0bVqxYYXQoRLmYwKnE1q1bh44PPYQqf/tb7oLAmDLFb+vE3bt3x8qVK40OgygXSyhUYkOHDkWvChXQY9q0G2veNptjoWA/qxNfuXIFd955J44dO8ZFHsjrWAMnr7Hb7QgNDcW3336LevXqGR2Oz/Tq1Qt9+/bFwIEDjQ6F/Bxr4OQ1u3btQnBwcJlK3gDQrVs3llHINJjAqUT8evRlMaKjoxEfH4/r168bHQoREzi5IC7upouSm5YuxaAyWAcODQ1F/fr1sW3bNqNDIWICJxe0aXNDz5JTiYkYcvgwGg4danBgxmB3QjILJnC6taCgvO6BKSmwvfgidvTogfLBwUZHZgjWwcksmMDJNUFBjqHyERF4JyAAHZ56yuiIDNOsWTNcvHgRhw4dMjoUKuOYwMk1NhswYwYuJyWh1ZYt6NyqldERGaZcuXKIjo5GnL/MuEiWxQROt5ZvVr4NR49ieYsWCPLTIfOu6t69O+vgZDgO5KFbyzcr38iRIxEZGYnXhg3zy9GWrsrIyECtWrVw4sQJBPnDzItkOhyJSR6lqqhTpw42bNiABg0aGB2O4bp27Yrnn38e/fv3NzoU8kMciUketXPnTgQGBuLee+81OhRjOfvF9+rVC1999ZVjmz+tQkSW4VICF5EPReRXEdmfb1sNEVknIodEZK2I8DzSzy1ZsgRPP/00RIptFPg/Z7/4pzp0wJo1a5B5+rT/rEJEluJSCUVEHgVwCcC/VPUB57bpAM6p6nQReR1AdVV9o5DXsoTiB3IWNFi5ciUeeOABo8MxnvPC7nN79uDtKlVQf/Fi/1iFiEzDYyUUVd0CIL3A5h4AFjpvLwTQy+0IyTJ27tyJSpUq4f777zc6FHNw9otftH07Zpcvz+RNhihNDfxOVf3VeftXAHd6IB4yqSVLlqBfv34sn+Rw9otP27ULTdaudZRRiHysvCfeRFVVRIqsk0yaNCn3dlRUFKKiojyxW/IRVcWSJUs4fDxHvn7xNYOCsLJ1azw2dCjLKFQqCQkJSEhIcOs1LncjFJFwACvy1cB/AhClqqkiEgpgk6o2LOR1rIFb3I4dOzBkyBAkJSWxBQ7c0C8eAObNm4dvV6/GR3/4Q5ntF0+e5+1uhF8DeN55+3kAy0rxXmRiLJ8UEB19Q0u7d+/e+GrjRmQ+9piBQVFZ5Go3wk8BbAfQQEROiMgLAP4G4AkROQSgg/M++Zmc8km/fv2MDsW0QkJC8PDDD2PVqlVGh0JljEs1cFUdUMRDHT0YC5kQe5+45umnn8aSJUvQt29fo0OhMoQjMalYLJ+4pnfv3o5BPZmZRodCZQgTOOUpsHSaqiL+s88wtFYtA4OyhpCQELRo0YJlFPIpJnDKU2DptN0bNmD8pUsIG1BUBY3y69evH5YsWWJ0GFSGcDZCulFOH+fYWGzr1QvfPPkk3pw+3eioLOHs2bOoX78+zpw5g0qVKhkdDlkcZyMk9+VbOm3c2bPoMXiw0RFZBsso5GtM4HQj5xDxH7/6Ci9mZqJR7dpGR2QpLKOQL7GEQnnyDRH/03//N2qUK4c3MzIcK9JziLhLWEYhT2EJhdyzbRswZQq0WjUsWbLEUT6ZMsWxnVzCMgr5EhM45XEOEd+6dSsCAwPRqFEjR8ub83u4pX///li0aJHRYVAZwBIK3WTQoEF48MEHMWbMGKNDsaSLFy+ibt26SEpKQmhoqNHhkEVxUWNy2/nz51GvXj0cPXoUNWvWNDocyxoxYgTCwsIwYcIEo0Mhi2INnNz28ccfo1u3bkzepRQTE4P58+fDbrcbHQr5MSZwyqWq+OCDDzBixAijQ7GmfFMRNG/eHDVr1sSmpUu5Wj15DRM45dq2bRvsdjseffRRo0OxpgJTEbw0cCCuxcZytXryGiZwyjVv3jyMGDGCMw+WVFCQo9vlhAlASgqeS0rCyLQ0nLl82ejIyE/xIiYB4MVLj0pJASIigORkjPjrXxEeHo4333zT6KjIYngRk1z28ccfIzo6msm7tJxTESA5GZgxA6MGDODFTPIaJnCCquaWT6gU8k1FgPBwYMoUNPviC9StWhXr1q0zOjryQ0zghG3btiE7Oxvt2rUzOhRrc05FkDtvjLMm/sajj2LevHnGxkZ+iTVwwuDBg9G0aVOMHTvW6FD80m+//YawsDCOzCS3cCQm3VLOxcsjR44gODjY6HD81ogRIxAREYHx48cbHQpZBC9i0i19/PHH6Nq1K5O3l40YMYIXM8njmMDLMF689J3mzZsjKCgI69evNzoU8iNM4GXY5s2bkZWVhfbt2xsdit8TEcTExGDOnDlGh0J+hAm8LHLO2TF58mSMGzfOMfLSZuOcHV42aNAg7Ny5E3v27DE6FPITTOBlUZs2OPXCC0g7ehSDBw/O67/MOTu8qlKlShg3bhzefvtto0MhP8EEXhYFBSHm7Fl8es89qHDqVN7gE6576R35ZimMiYnBzp07sfebb3jGQ6XGBF4Gbdq0CT//+isiP/jAMWdHbCyTtzflm6WwYsWKeOvll3FyyBCe8VCplTqBi0iKiOwTkR9FZKcngiLvUVVMnDgR//Xaayj/7ru5c3bktBDJCwrMUjgsORmxV69i15EjRkdGFlfqgTwikgyguaqeL+JxDuQxkfXr1+ONkSOx84knUG7qVEdyyT+HB1vi3pNvlsI5q1YhLi4OcSyjUBF8OZCHE0hbQE7re0avXnnJG8hrIW7bZmyA/qzALIXD+vTB/v37sWPHDqMjIwvzRAv8GIALALIBfKCq8ws8zha4ScTHx+PVV1/FgQMHEBAQYHQ4ZUfBMxzn/Q/vuQefr12LNWvWGB0hmZArLfDyHthPG1U9IyIhANaJyE+quiX/EyZNmpR7OyoqClFRUR7YLbkjp/U9ceJEJm9fK2KWwkEJCZj800/49ttv0bp1a2NjJMMlJCQgISHBrdd4dDIrEZkI4JKqzsq3jS1wE1i9ejViY2Oxd+9eJnATmT9/PpYsWYK1a9caHQqZjNdr4CJSSUSqOG9XBvAkgP2leU/yPFXFW2+9xda3CQ0ZMgRHjhzB1q1bjQ6FLKi0FzHvBLBFRPYA2AFgpaqyKWEyy5cvx9WrV9GnTx+jQ6ECKlSogD//+c+YMGECeKZK7uJ84H7OZrPhgQcewMKFC9GhQwejw6FCZGVloVWrVoiJicHw4cONDodMggs6EIYOHYrbb7+ds+CZ3IEDB/DYY49h9+7dqFu3rtHhkAlwQYcy7vtJk7B7wwZMnz49byNnHTSl+++/H2PGjMEf/vAHllLIZUzgfspms2HI/PmIa9YMgVlZORs566CJjRs3Dunp6Zg/f/6tn0wEllD81gsvvIBKlSrhvZw5OGJjHSMBOVze1BITExEVFYVdu3YhLCzM6HDIQKyBl1FxcXEYPXo09u3bh8DAwBvm4EB4uNHh0S1MnToVGzduxNq1ax2LbVCZxBp4GZSeno6YmBgsWLDAkbwLzMHBWQfNLzY2FjabDfPmzTM6FDI5tsD9zJAhQ1C5cmW89957Rc7BwTKK+SUmJqJ9+/bYtWsXwnnWVCaxBV7GrFixAps3b8a0adMcG4qYg4OzDppEvpV6cjl7CTVq1AivvfYahg0bhuzsbGPiI9NjC9xP7Nq1C127dsWyZcvwyCOPGB0OueIWZ0hZWVno3Lkz6tevj7lz57IeXsbwImYZcejQIbRv3x4ffPABevToYXQ45I6cpJ2/l9C2bY6unkFBuHjxIqKiotC3Y0eMb9cOiI42OmLyEZZQyoDTp0+jU6dOmDJlCpO3FQUFOZJ3/rVJ862hWaVKFaxZvBh1P/gA8xITjY6WTIYJ3MLS09PRqVMnxMTEYOjQoUaHQyVRWC+hAmtohsyejbbffIPJ//u/+Pzzz42OmMxEVb3649iFH1m5UjU9/cZt6emO7T6UmZmpbdu21VdffVXtdrtP900ekp6u+sc/5h1PBe8nJ6sCjn9Vde/evRoSEqLr1q0zJFzyLWfuLDa/sgXurnyntwAMGZ6elZWF/v37IywsDLNmzeLFLasqrpdQIS3zxo0b44svvsCzzz6LXbt2ubaPYnq6kB+4VYYv7Q/8rQWumtdSSk6+scXkA5mZmfrMM89o586d9erVqz7bL/nQLVrmy5Yt01q1aul3331X6vci84ILLXAm8JIqcHrrC8eOHdNmzZrpM888o5cuXcp7wCRlHfKQ4v6ezseWL1+uISEh+v7776v9/Pni/9YGNjio5JjAvcWAD8Tq1av1jjvu0NmzZ99c82Yrq+zI97f9+eeftVXDhrq+YUPNPH26+NcZ0OCwDJM2gMyVwE3wC/EIHyfL7OxsnTx5st511126efPmW8fFVpb/y/e3vjp8uL7Qu7c++OCDmlxUci7s2DBp0jKESRtA5kngJvmFeIQPD/z09HTt3r27PvLII3rq1Klbv4CtrLIj39/abrfru+++q3feeaeuWbPmxucVlZxSUkyZtAxjwgaQeRK4SX4hVpGdna2ffPKJhoWF6UsvveTaxUoTHoDkJUW0qLeuXKmhoaEaExOjqampju0TJxbd4DDbMWP0WYHJGkDmSeAm+YVYQUJCgr4aGantmzTRTZs25T1Q3IFs0lNA8oJbtKjPHzumY8aM0Yjq1XVnixZ66eTJ4t/PTEnLyOPYbF9maqYEbpJfiJkdPHhQe/TooWFhYfr5vHlqHzXq5gN58eLCWyjFtbLIvxTXSs2XhGwDB+oLvXvrXXfdpf/4xz80Kyvr5vcyYdIyJCaTNoDMk8BL+gsx+pTKE27xf9i7d6+OGDFCg4ODdcaMGXr58uW85xQ8kE16oJGJFGhRf/fdd9q2bVu9//77ddGiRZqZmel4nqeOJRe6PBb6mBv/B68zaZ4xTwJXLdkvxMiE5ak/aiH/h8vDhun8GTO0efPmWqdOHf3LX/6i586du/m1hR3IZmw1kTkUcWzY7XZdvny5Pvnkk1qjRg0dNWqUHnr3XUf/8YKv9+RntCSfX/aYyWWuBF5SRiUsT355pKdrVkyMbv7XvzQ+MlLrVq2q/fv3192TJ2tWwcTtygUmM9UtyRxcPF5/+eUXnTx5skZERGjjxo119uzZevpWfchd3Xdhx6o7n1/2mLmBfyRwVeMSVim+PLKzs3XPnj06c+ZM7dKlizaqXFkV0I8mTtS0tLQb39+dA5YtcCqMm63U7Oxs3bhxoz733HMaFBSkjRo10ldeeUW//vprvXDhgvv7L+4z6urn18X6fomPe4u15E2TwP/zn/+U/H/hqVMqL9fjUlNTde3atTpz5kzt37+/hoSEaGRkpI4cOVKXL1yol4cOdb2FUlSsixeXyZYIeVdWVpbu2LFD//rXv+rjjz+ugYGB2rp1a3399dd10aJFun//fr127VrRb+BuC9zbtfESfH6uXLmi+/bt02XLlhX/3j5kmgRerVo1DQ4O1vbt2+uoUaP0//7v/zQ+Pl6TkpL0t99+K/p/4MlTKg/U4347flz379+vcXFxOmfOHB0zZox27NhR77jjDu0fGKjRbdroyy+/rB999JH+8ssvriddT7RQiDwkMzNT169fr5MnT9Z+/fppgwYNtGLFitqkSRMdNGiQ/u1vf9NPP/1Ut2/frqcSEwvvMVVcDbw0n99SNHSunz2rJw8c0DNPPaXL/+d/9LvmzXVgt27aoEEDve2227RBgwbap0+fwnvsGMCVBF7qJdVEpDOA2QACAPxDVacVeFztdjvOnDmDpKQkJCYmIikpCYcPH8apU6dw4sQJVKhQAXfffTfq1KmD0NBQ1KhRAzVq1EDTU6dwpXlzVKlTB0FBQahUqRIqX7+OagcOIKBdOwROnYpyr78OmTkzb1rOuLjc5ahy2WzAtm3QRx6BvvkmMl98ETJrFv7z8su4GBCAjIwMZGRkwGaz4dy5c0hLS8Olkyfx+MaN+KBuXRw+exa2lBSMz8jAgogI1KhXD2FhYahXrx4aN26Mxo0b465KlSB//vPN6xu2awd06lRoPIiOLnxJLa4YTyaTmZmJpKQk7Nu3D0lJSTh+/Dh++eUXRB46hLUZGahSpw7q1KmDkJAQ3B0YiGaZmahatSquNG+OqnXrIjAwEJUrV0aV7GxUT0pC+fbtUXXaNMi4cSg3a1bxx32+tUKzq1TB5TNnEPDWWzg3dCgC58zBiZH7YoWwAAAIX0lEQVQjka6KSydPot6CBdjQoQPS09PRLj4ei+vUweM//IC3AgJw5Nw5hISE4OGQECzbuxfvjB6N2m3a4Pe//z3uvfde3Hbbbb79pd6C19fEFJEAAD8D6AjgFIDvAQxQ1YP5nqPF7UNVYbPZcPLkSZw8eRKnT59Geno6zp8/n/vv+fPnYbPZkJmZicuXL+f+G5KRgSPZ2YgsXx4nAgIQEBCAGuXK4a1r1/DXSpWQrorK16/jL1euYAKA83Y7IkRwTBUP1ayJ81WrorPdjkPBwdBq1RAUFITg4GDUrlwZHQ8cQEqvXqgWFoZatWohLCwMNQMCINu3F70uobvJ+BaL2hJZwZUrV3DixAmcOHEitwFU8N9Lly7lNpRyfoIvXcLhrCzUE8HJ8uVRPt+PqsJutyM7OxtPXr+Orao4b7fDbrejYsWKuPO229AuIAAHqlVDrM2GLyIi8MK5c1jZujVur1ULNWrUQJgqBr31FnZ/8QVCHn4YoaGhqJCRYZkGkysJvLTlkdYA1uS7/waANwo8xzvnFzmnRYcPa1ZMjGaePq0XL17UCxcuaHpysl4eOlQv7N2rV4cP18tnzuj169cd3aa83bfanQuuLIlQWeX8nNmPHdPsUaP0SmqqXrp0SS9cuKDnzp3TtLQ0tdls+ttvv2lGRoZevnxZr127VvjqU652t/X0Z93L4O0aOIC+AObnuz8QwN/V2wnclT9EwT9qca/xVM8O9hAhf+XJxoaHu+i6nKiLGsls0gaTLxJ4H0MS+K0OppJc+S5tV0WLfbsTucWTx7cXB8lZMVEXxZUEXtoaeCsAk1S1s/P+eAB2zXchU0R04sSJua+JiopCVFRUifd5SyWpK3viQmIxF0+LrJkTWYnZLrj72WcuISEBCQkJuffffvttr1/ELA/HRczHAZwGsBNuXsT0OHf/qLyQSOS6lBQgIsKx2HJ4uNHR+DVXLmKWalV6Vc0C8BKAeABJAD7Ln7wNER19c+INCir6G7m4lcGJypriVrG32Rwt7+Rkx78Fn0c+V+p+4LfcQf4WuJ+d8hD5naLOSMeNA6ZP55mqD3m9Be62Nm0cf/Scb+6cg+DSpaK/9YnId3LOQCdMcJRLcpL0gQM8UzUh37bAgcIvhACsQxOZCWvdhjNfCxxwJOTYWMfBERvruF/Utz6TN5HvsdZtGb5P4EUdHIUldiLyrfxnv+HheQ0rJnFT8m0CL+7g4Lc+kfHYK8tSzNELJT4e2LyZNXAiIievz0boYhC3HsjD7oVERDewTgInIqIbmLMXChEReQQTOBGRRTGBExFZFBM4EZFFMYETEVkUEzgRkUUxgRMRWRQTOBGRRTGBExFZFBM4EZFFMYETEVkUEzgRkUUxgRMRWRQTOBGRRTGBExFZFBM4EZFFMYETEVkUEzgRkUUxgRMRWRQTOBGRRZU4gYvIJBE5KSI/On86ezIwIiIqXmla4ArgHVVt5vxZ46mgzCQhIcHoEErFyvFbOXaA8RvN6vG7orQllGKXvPcHVj8IrBy/lWMHGL/RrB6/K0qbwEeLyF4RWSAiQR6JiIiIXFJsAheRdSKyv5CfHgDmAogA0BTAGQCzfBAvERE5iaqW/k1EwgGsUNUHCnms9DsgIiqDVLXYMnX5kr6xiISq6hnn3d4A9pckACIiKpkSJ3AA00SkKRy9UZIBxHgmJCIicoVHSihEROR7XhuJKSKdReQnETksIq97az/eIiIfisivIlJoacjMRKSOiGwSkUQROSAiLxsdkztE5HYR2SEie0QkSUSmGh1TSYhIgHOQ2wqjY3GXiKSIyD5n/DuNjscdIhIkIl+IyEHn8dPK6JhcJSIN8g2O/FFELhT3+fVKC1xEAgD8DKAjgFMAvgcwQFUPenxnXiIijwK4BOBfhV2cNTMRqQWglqruEZFAALsB9LLY77+SqmaKSHkAWwH8SVW3Gh2XO0RkLIDmAKqoag+j43GHiCQDaK6q542OxV0ishDAN6r6ofP4qayqF4yOy10iUg6O/NlCVU8U9hxvtcBbADiiqimqeh3AYgA9vbQvr1DVLQDSjY6jJFQ1VVX3OG9fAnAQwF3GRuUeVc103vwdgAAAlkokInI3gK4A/gHrDnizXNwiUg3Ao6r6IQCoapYVk7dTRwBHi0regPcSeG0A+Xd60rmNfMzZxbMZgB3GRuIeESknInsA/Apgk6omGR2Tm94FEAvAbnQgJaQA1ovILhEZbnQwbogAcFZEPhKRH0RkvohUMjqoEnoGwCfFPcFbCZxXRk3AWT75AsArzpa4ZaiqXVWbArgbQDsRiTI4JJeJSDcA/1HVH2HBVqxTG1VtBqALgBedJUUrKA/gQQBzVPVBABkA3jA2JPeJyO8AdAewpLjneSuBnwJQJ9/9OnC0wslHRKQCgC8B/FtVlxkdT0k5T3/jADxkdCxueARAD2cd+VMAHUTkXwbH5JacMR6qehbAUjjKolZwEsBJVf3eef8LOBK61XQBsNv5+y+StxL4LgCRIhLu/CbpD+BrL+2LChARAbAAQJKqzjY6HneJSHDO3DoiUhHAEwB+NDYq16nqm6paR1Uj4DgN3qiqg42Oy1UiUklEqjhvVwbwJIoYqGc2qpoK4ISI3Ovc1BFAooEhldQAOL78i1WagTxFUtUsEXkJQDwcF6AWWKkHBACIyKcA2gOoKSInALylqh8ZHJar2gAYCGCfiOQkvvEWmvI3FMBC51X4cgA+VtUNBsdUGlYrKd4JYKmjHYDyABap6lpjQ3LLaACLnI3HowBeMDgetzi/NDsCuOW1Bw7kISKyKC6pRkRkUUzgREQWxQRORGRRTOBERBbFBE5EZFFM4EREFsUETkRkUUzgREQW9f/dYlve7WDutgAAAABJRU5ErkJggg==) ### Scipy.optimize.leastsq 定义误差函数,将要优化的参数放在前面: In [25]: ```py def f_err(p, y, x): return y - function(x, *p) ``` 将这个函数作为参数传入 `leastsq` 函数,第二个参数为初始值: In [26]: ```py c, ret_val = leastsq(f_err, [1, 1, 1, 1], args=(y_noisy, x)) c, ret_val ``` Out[26]: ```py (array([ 3.03199715, 1.97689384, 1.30083191, 0.6393337 ]), 1) ``` `ret_val` 是 1~4 时,表示成功找到最小二乘解: In [27]: ```py p = plt.plot(x, y_noisy, 'rx') p = plt.plot(x, function(x, *c), 'k--') ``` ![](data:image/png;base64,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) ### Scipy.optimize.curve_fit 更高级的做法: In [28]: ```py from scipy.optimize import curve_fit ``` 不需要定义误差函数,直接传入 `function` 作为参数: In [29]: ```py p_est, err_est = curve_fit(function, x, y_noisy) ``` In [30]: ```py print p_est p = plt.plot(x, y_noisy, "rx") p = plt.plot(x, function(x, *p_est), "k--") ``` ```py [ 3.03199711 1.97689385 1.3008319 0.63933373] ``` ![](data:image/png;base64,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) 这里第一个返回的是函数的参数,第二个返回值为各个参数的协方差矩阵: In [31]: ```py print err_est ``` ```py [[ 0.08483704 -0.02782318 0.00967093 -0.03029038] [-0.02782318 0.00933216 -0.00305158 0.00955794] [ 0.00967093 -0.00305158 0.0014972 -0.00468919] [-0.03029038 0.00955794 -0.00468919 0.01484297]] ``` 协方差矩阵的对角线为各个参数的方差: In [32]: ```py print "normalized relative errors for each parameter" print " a\t b\t f\tphi" print np.sqrt(err_est.diagonal()) / p_est ``` ```py normalized relative errors for each parameter a b f phi [ 0.09606473 0.0488661 0.02974528 0.19056043] ```