scipy 数据拟合

import numpy as np
from scipy.optimize import curve_fit
# 创建函数,直线f(x) = ax+b
def func(x, a, b):
return a * x + b
# 生成测试数据,f(x)=x+2
x = np.linspace(0, 10, 100)
y = func(x, 1, 2)
# 给直线添加噪声,使之变形
yn = y + 0.9 * np.random.normal(size=len(x))
# 使用曲线拟合函数,返回曲线方程参数
popt, pcov = curve_fit(func, x, yn)
# 返回参数a=1, b=2
print(popt)

尝试二次曲线方程

import numpy as np
from scipy.optimize import curve_fit
def func(x, a, b, c):
    return a * x*x + b*x + c
x = np.linspace(0, 10, 100)
y = func(x, 1, 2, 3)
yn = y + 0.9 * np.random.normal(size=len(x))
popt, pcov = curve_fit(func, x, yn)
print(popt)


评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值