我是靠谱客的博主 无限画笔,最近开发中收集的这篇文章主要介绍Python实现【指数函数+对数函数】复杂组合函数曲线的拟合,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

      在实际的应用中,我们经常会遇到一些曲线拟合得需求,尽管,实际上点对之间可能是没有绝对意义上的函数关系的,但是为了更好地量化表示和计算,我们往往期望于从原始的数据集中尽可能地挖掘出来可能的函数关系,今天我遇上了一个问题就是如何去拟合指数函数+对数函数这种组合型函数曲线,简单看一下具体的实现内容:

def logExpFunc():
    '''
    【指数+对数】混合函数拟合
    '''
    x=np.linspace(1,2,15)
    y=[21.5,23.1,25.9,30,32.6,38,41.9,47.2,55,61,69,80,90,105,117.6]
    popt,pcov=curve_fit(lambda t,a,b,c,d,e: a+b*np.log(c*t)+d*np.exp(e*t),x,y)
    print('popt: ',popt)
    plt.figure()
    a,b,c,d,e=popt
    y_pre = a+b*np.log(c*x)+d*np.exp(e*x)
    plt.plot(x, y, 'ko', label="Original Data")
    plt.plot(x, y_pre, 'r-', label="Fitting Curve")
    plt.legend()
    plt.show()

     这里我的函数原型为:  

y = 4+2*np.exp(2*x)+3*np.log(2*x)

     y为指数函数和对数函数的组合形式,其中,一共有5个参数。

      结果如下所示:

popt:  [ 5.19163529 -1.73152698  1.57951688  2.44883023  1.92488973]

      从结果输出的5个参数上来看,a、b、c、d和e跟我们自己预设的函数原型中的参数是不一致的,但是不影响我们拟合得到所需要的曲线,这样的参数不一定会是唯一的,可能跟我们函数曲线拟合的时候所使用到的点数据过少有关系吧,毕竟函数本身还是比较复杂的。

 

 

最后

以上就是无限画笔为你收集整理的Python实现【指数函数+对数函数】复杂组合函数曲线的拟合的全部内容,希望文章能够帮你解决Python实现【指数函数+对数函数】复杂组合函数曲线的拟合所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(46)

评论列表共有 0 条评论

立即
投稿
返回
顶部