python对数据的简单回归

本文通过Python的numpy和matplotlib库演示了一种简单的方法来拟合和绘制数学函数。首先定义了一个包含正弦函数和线性项的复合函数f(x),接着在指定区间内生成了离散的数据点,并进行了线性和五阶多项式的拟合。最后将原始函数与拟合结果在同一坐标系中进行了可视化比较。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

import numpy as np
import matplotlib.pyplot as plt
In [3]:
def f(x):
    return np.sin(x)+0.5*x
In [4]:
x=np.linspace(-2*np.pi,2*np.pi,50)
In [7]:
plt.plot(x,f(x),'b')
plt.grid(True)
plt.xlabel('x')
plt.ylabel('f(x)')
Out[7]:
Text(0,0.5,'f(x)')
In [8]:
reg=np.polyfit(x,f(x),deg=1)
print(reg)
[ 4.28841952e-01 -5.29906205e-17]
In [10]:
ry=np.polyval(reg,x)
In [11]:
plt.plot(x,f(x),'b',label='f(x)')
plt.plot(x,ry,'r.',label='val')
plt.legend(loc=0)
plt.grid(True)
plt.xlabel('x')
plt.ylabel('f(x)')
Out[11]:
Text(0,0.5,'f(x)')
In [19]:
reg=np.polyfit(x,f(x),deg=5)
ry=np.polyval(reg,x)
plt.plot(x,f(x),'b',label='f(x)')
plt.plot(x,ry,'r.',label='val')
plt.legend(loc=0)
plt.grid(True)
plt.xlabel('x')
plt.ylabel('f(x)')
Out[19]:
Text(0,0.5,'f(x)')
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值