我研究了scipy.optimize中的函数逼近方法,在阅读了函数的描述之后,发现(可能是错误的)它们只近似于非线性函数。
例如,如果我在zip()函数之后为x和y提供了示例输出
[(1,1),(4,2),(6,4),(8,6),(10,11)]正如你所看到的,非线性函数的逼近效果要好得多,但我需要线性来实现我的目的。
我承认在函数文档中遗漏了一些东西,所以如果问题可以以“读取文档”的方式回答,我很抱歉。
发布于 2014-07-19 16:31:10
你试过做最小二乘拟合的东西吗?http://docs.scipy.org/doc/scipy/reference/generated/scipy.stats.linregress.html,如果我没记错的话,numpy的多重拟合有一个选项来确定你所需要的拟合的自由度,在你的情况下,它应该是一个。
importing polyfit from numpy... etc.
coefficients = polyfit( xlist, ylist, 1 ) #where 1 is the degree of freedom
p = poly1d( coefficients )
x = linspace( 0, 5, 100 ) #generates 100 points between 0 and 5 to plot 'curve'
plot( x, p(x), label='Best Fit Line' ) 希望这有帮助
https://stackoverflow.com/questions/24842360
复制相似问题