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]:
In [8]:
reg=np.polyfit(x,f(x),deg=1)
print(reg)
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]:
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]:
本文通过Python的numpy和matplotlib库演示了一种简单的方法来拟合和绘制数学函数。首先定义了一个包含正弦函数和线性项的复合函数f(x),接着在指定区间内生成了离散的数据点,并进行了线性和五阶多项式的拟合。最后将原始函数与拟合结果在同一坐标系中进行了可视化比较。
5万+

被折叠的 条评论
为什么被折叠?



