ex7-3

1.代码实现

点击查看代码
import numpy as np
import pylab as plt
from scipy.interpolate import lagrange

yx=lambda x:1/(1+x**2)

def fun(n):
    x=np.linspace(-5,5,n+1)
    p=lagrange(x,yx(x))#n次插值多项式
    return p
x0=np.linspace(-5,5,100)
plt.rc('text',usetex=True)#使用Latex字体
plt.rc('font',size=15)
N=[6,8,10]
s=['--*b','-.','-p']
for k in range(len(N)):
    p=fun(N[k])
    plt.plot(x0,np.polyval(p,x0),s[k])
plt.plot(x0,yx(x0))
plt.legend(['$n=6$','$n=8$','$n=10$','$1/(1+x^2)$'])
plt.show()

2.运行结果

posted on 2024-10-29 13:51  克卜勒星球  阅读(3)  评论(0编辑  收藏  举报

导航