• python自定义函数拟合



    import numpy as np
    import matplotlib.pyplot as plt
    from scipy.optimize import curve_fit#用python拟合函数最主要模块就是cure_fit
    #准备数据
    x=[一组数据]
    y=[一组数据]
    #定义你自己想要拟合的函数
    def func(x,E0,B0,B1,V0):
    return E0+(9.0/16)*V0*B0*(((V0/x)**(2.0/3)-1)**(3.0)*B1)+(9.0/16)*V0*B0*((V0/x)**(2.0/3)-1)**(2.0)*(6-4*(V0/x)**(2.0/3))
    #定义好自己需要的函数之后就是拟合
    #popt是一个一维数组,表示得到的拟合方程的参数
    #pcov是一个二维数组,是在popt参数下得到的协方差
    popt,pcov=curve_fit(func,x,y,[-800,-1,-1,930]) #后面这个数组是进行设置初猜,即使初猜设置的不是特别好,也能拟合出来比较理想的效果。如果你不设置初猜的话,默认的都是1
    print(popt)
    E0=popt[0]
    B0=popt[1]
    B1=popt[2]
    V0=popt[3]
    print(pcov)
    yval=func(x,E0,B0,B1,V0)#拟合完参数之后 就用拟合之后的参数来计算函数的值,即得到拟合拟合曲线的数值
    plt.scatter(x,y)#原始数据画图
    plt.plot(x,yval,'g',label='E0=%5.3f,B0=%5.3f,B1=%5.3f,V0=%5.3f'%tuple(popt))#拟合之后的数据画图 tuple是把列表变成元组
    plt.legend()
    plt.show()

  • 相关阅读:
    程序写法
    2011年C++再次给力
    WIN7+LINUX双系统
    随机洗牌算法
    Eclipse快捷键大全
    Android 编程规范
    android Context 上下文的几点解析
    消息模式Toast.makeText的几种常见用法
    Eclipse的优化
    用PULL解析器解析XML文件
  • 原文地址:https://www.cnblogs.com/shunguo/p/11397030.html
Copyright © 2020-2023  润新知