網站首頁 編程語言 正文
一、拉格朗日的基本思想
拉格朗日插值法是以法國十八世紀數學家約瑟夫·拉格朗日命名的一種多項式插值方法。
許多實際問題中都用函數來表示某種內在聯系或規律,而不少函數都只能通過實驗和觀測來了解。在若干個不同的地方得到相應的觀測值,拉格朗日插值法可以找到一個簡單函數,其恰好在各個現測的點取到觀測到的值,這個函數可以是代數多項式,三角多項式等。
二、線性插值
三、多個點
四、代碼實現
def lagrange(xx,y):
l=len(y)
l_n = 0
for k in range(l):
xxx=xx.copy()
x_k = xxx[k]
xxx.pop(k)
l_k = 1
for i in range(len(xxx)):
l_k *= (x - xxx[i]) / (x_k -xxx[i])
l_n += y[k] * l_k
return expand(l_n)
五、完整代碼
import matplotlib.pyplot as plt
import numpy as np
import pandas as pd
from sympy import expand
from sympy.abc import x
xx=[]
for i in range(7):
xx.append(data['x'][i])
y=[]
for j in range(7):
y.append(data['y'][j])
def lagrange(xx,y):
l=len(y)
l_n = 0
for k in range(l):
xxx=xx.copy()
x_k = xxx[k]
xxx.pop(k)
l_k = 1
for i in range(len(xxx)):
l_k *= (x - xxx[i]) / (x_k -xxx[i])
l_n += y[k] * l_k
return expand(l_n)
lagrange_interpolation_polynomial = lagrange(xx, y)
print("拉格朗日插值多項式為:",lagrange_interpolation_polynomial)
x2=np.linspace(-1,4,100)
y1=[]
for i in range(len(x2)):
y1.append(lagrange_interpolation_polynomial.subs(x,x2[i]))
print(y1)
#繪制散點圖,逼近函數
plt.figure(figsize=(8,4))
plt.scatter(xx,y,c='red')
plt.plot(x2,y1,'-')
plt.show()
六、pop()函數
七、結果展示
原文鏈接:https://blog.csdn.net/m0_72662900/article/details/128278422
相關推薦
- 2023-11-21 MAC 打開不開第三方應用XXX can’t be opened because the ident
- 2022-11-07 python中openpyxl庫用法詳解_python
- 2022-07-01 c++超細致講解引用_C 語言
- 2022-09-08 python輾轉相除法求最大公約數和最小公倍數的實現_python
- 2023-03-25 Pandas快速合并多張excel表格的兩種方法_python
- 2022-04-09 Linux普通用戶使用sudo顯示權限不足,admin is not in the sudoers
- 2022-04-08 從頭學習C語言之switch語句和分支嵌套_C 語言
- 2022-04-17 使用docker-compose構建鏡像并構建服務時,想為構建的鏡像統一加上指定版本
- 最近更新
-
- window11 系統安裝 yarn
- 超詳細win安裝深度學習環境2025年最新版(
- Linux 中運行的top命令 怎么退出?
- MySQL 中decimal 的用法? 存儲小
- get 、set 、toString 方法的使
- @Resource和 @Autowired注解
- Java基礎操作-- 運算符,流程控制 Flo
- 1. Int 和Integer 的區別,Jav
- spring @retryable不生效的一種
- Spring Security之認證信息的處理
- Spring Security之認證過濾器
- Spring Security概述快速入門
- Spring Security之配置體系
- 【SpringBoot】SpringCache
- Spring Security之基于方法配置權
- redisson分布式鎖中waittime的設
- maven:解決release錯誤:Artif
- restTemplate使用總結
- Spring Security之安全異常處理
- MybatisPlus優雅實現加密?
- Spring ioc容器與Bean的生命周期。
- 【探索SpringCloud】服務發現-Nac
- Spring Security之基于HttpR
- Redis 底層數據結構-簡單動態字符串(SD
- arthas操作spring被代理目標對象命令
- Spring中的單例模式應用詳解
- 聊聊消息隊列,發送消息的4種方式
- bootspring第三方資源配置管理
- GIT同步修改后的遠程分支