日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

牛顿插值多项式(python实现)

發布時間:2025/4/16 python 36 豆豆
生活随笔 收集整理的這篇文章主要介紹了 牛顿插值多项式(python实现) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

理論知識

牛頓插值多項式(理論知識)

目標函數

f(x)=11+x2f(x)=11+x2

插值點為[-10, 10]上的整數點。

圖片

代碼實現

import sympy import numpy as np from matplotlib import pyplot as pltdef f(X):return 1 / (X ** 2 + 1)def ff(X=list()):if len(X) < 2:raise ValueError('X\'s length must be bigger than 2')ans = 0for i in range(len(X)):temp = 1.0for j in range(len(X)):if j == i:continuetemp *= (X[i] - X[j])ans += (f(X[i]) / temp)return ansdef draw():plt.rcParams['font.sans-serif'] = ['SimHei']plt.rcParams['axes.unicode_minus'] = FalseX = np.linspace(-10, 10, 100)TargetY = f(X)GetY = [Px.subs(x, i) for i in X]plt.plot(X, TargetY, label=r'$\frac{1}{x^2+1}$')plt.plot(X, GetY, label='$L(x)$')plt.legend()plt.show()def generatePx(DataX):ans = f(DataX[0])if len(DataX) == 1:return anselse:temp = 1for i in range(len(DataX) - 1):temp *= (x - DataX[i])ans += ff(DataX[:i + 2]) * tempreturn ansif __name__ == '__main__':x = sympy.symbols('x')DataX = np.linspace(-10, 10, 11) # 插值點Px = sympy.expand(generatePx(DataX))draw()

總結

以上是生活随笔為你收集整理的牛顿插值多项式(python实现)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。