Python实现线性插值和三次样条插值的示例代码


Posted in Python onNovember 13, 2019

(1)、函数

y = sin(x)

(2)、数据准备

#数据准备
X=np.arange(-np.pi,np.pi,1) #定义样本点X,从-pi到pi每次间隔1
Y= np.sin(X)#定义样本点Y,形成sin函数
new_x=np.arange(-np.pi,np.pi,0.1) #定义差值点

(3)、样条插值

#进行样条差值
import scipy.interpolate as spi
 
#进行一阶样条插值
ipo1=spi.splrep(X,Y,k=1) #样本点导入,生成参数
iy1=spi.splev(new_x,ipo1) #根据观测点和样条参数,生成插值
 
#进行三次样条拟合
ipo3=spi.splrep(X,Y,k=3) #样本点导入,生成参数
iy3=spi.splev(new_x,ipo3) #根据观测点和样条参数,生成插值

(4)、绘图

##作图
fig,(ax1,ax2)=plt.subplots(2,1,figsize=(10,12))

ax1.plot(X,Y,'o',label='样本点')
ax1.plot(new_x,iy1,label='插值点')
ax1.set_ylim(Y.min()-1,Y.max()+1)
ax1.set_ylabel('指数')
ax1.set_title('线性插值')
ax1.legend()

ax2.plot(X,Y,'o',label='样本点')
ax2.plot(new_x,iy3,label='插值点')
ax2.set_ylim(Y.min()-1,Y.max()+1)
ax2.set_ylabel('指数')
ax2.set_title('三次样条插值')
ax2.legend()

(5)、综合代码

import numpy as np
import matplotlib.pyplot as plt
 
plt.rcParams['font.sans-serif']=['SimHei'] #用来正常显示中文标签
plt.rcParams['axes.unicode_minus']=False #用来正常显示负号
 
#数据准备
X=np.arange(-np.pi,np.pi,1) #定义样本点X,从-pi到pi每次间隔1
Y= np.sin(X)#定义样本点Y,形成sin函数
new_x=np.arange(-np.pi,np.pi,0.1) #定义差值点
 
#进行样条差值
import scipy.interpolate as spi
 
#进行一阶样条插值
ipo1=spi.splrep(X,Y,k=1) #样本点导入,生成参数
iy1=spi.splev(new_x,ipo1) #根据观测点和样条参数,生成插值
 
#进行三次样条拟合
ipo3=spi.splrep(X,Y,k=3) #样本点导入,生成参数
iy3=spi.splev(new_x,ipo3) #根据观测点和样条参数,生成插值

 
 
##作图
fig,(ax1,ax2)=plt.subplots(2,1,figsize=(10,12))

ax1.plot(X,Y,'o',label='样本点')
ax1.plot(new_x,iy1,label='插值点')
ax1.set_ylim(Y.min()-1,Y.max()+1)
ax1.set_ylabel('指数')
ax1.set_title('线性插值')
ax1.legend()

ax2.plot(X,Y,'o',label='样本点')
ax2.plot(new_x,iy3,label='插值点')
ax2.set_ylim(Y.min()-1,Y.max()+1)
ax2.set_ylabel('指数')
ax2.set_title('三次样条插值')
ax2.legend()

(6)、结果展示

Python实现线性插值和三次样条插值的示例代码

Python实现线性插值和三次样条插值的示例代码

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python使用内存zipfile对象在内存中打包文件示例
Apr 30 Python
10款最好的Web开发的 Python 框架
Mar 18 Python
Python实现的摇骰子猜大小功能小游戏示例
Dec 18 Python
django传值给模板, 再用JS接收并进行操作的实例
May 28 Python
Python之使用adb shell命令启动应用的方法详解
Jan 07 Python
Python中捕获键盘的方式详解
Mar 28 Python
python实现雪花飘落效果实例讲解
Jun 18 Python
pyqt5移动鼠标显示坐标的方法
Jun 21 Python
Pytorch使用MNIST数据集实现基础GAN和DCGAN详解
Jan 10 Python
python实现图片横向和纵向拼接
Mar 05 Python
Pytorch损失函数nn.NLLLoss2d()用法说明
Jul 07 Python
python使用BeautifulSoup 解析HTML
Apr 24 Python
Python坐标线性插值应用实现
Nov 13 #Python
python如果快速判断数字奇数偶数
Nov 13 #Python
Python 异步协程函数原理及实例详解
Nov 13 #Python
python文字转语音实现过程解析
Nov 12 #Python
python文字转语音的实例代码分析
Nov 12 #Python
Python上下文管理器全实例详解
Nov 12 #Python
python3-flask-3将信息写入日志的实操方法
Nov 12 #Python
You might like
PHP中func_get_args(),func_get_arg(),func_num_args()的区别
2013/09/30 PHP
php命令行使用方法和命令行参数说明
2014/04/08 PHP
为你总结一些php系统类函数
2015/10/21 PHP
PHP 根据key 给二维数组分组
2016/12/09 PHP
php基于环形链表解决约瑟夫环问题示例
2017/11/07 PHP
Javascript操纵Cookie实现购物车程序
2007/02/15 Javascript
js或css实现滚动广告的几种方案
2010/01/28 Javascript
鼠标选择动态改变网页背景颜色的JS代码
2013/12/10 Javascript
jQuery实现鼠标悬停显示提示信息窗口的方法
2015/04/30 Javascript
Javascript函数的参数
2015/07/16 Javascript
vue.js实现请求数据的方法示例
2017/02/07 Javascript
vue-cli项目中使用Mockjs详解
2018/05/14 Javascript
Vue使用NProgress的操作过程解析
2019/10/10 Javascript
茶余饭后聊聊Vue3.0响应式数据那些事儿
2019/10/30 Javascript
jQuery实现全选按钮
2021/01/01 jQuery
对Python新手编程过程中如何规避一些常见问题的建议
2015/04/01 Python
python enumerate函数的使用方法总结
2017/11/15 Python
python中format()函数的简单使用教程
2018/03/14 Python
python+opencv识别图片中的圆形
2020/03/25 Python
Python实现CNN的多通道输入实例
2020/01/17 Python
Python导入模块包原理及相关注意事项
2020/03/25 Python
CSS3基础(RGBa、text-shadow、box-shadow、border-radius)
2012/11/13 HTML / CSS
利用HTML5画出一个坦克的形状具体实现代码
2013/06/20 HTML / CSS
美国南部最大的家族百货公司:Belk
2017/01/30 全球购物
英国异国风情旅游网站:Travel Talk Tours(团体旅游、探险旅游、帆船假期)
2018/07/26 全球购物
大学生毕业自我鉴定
2013/11/06 职场文书
保安自我鉴定范文
2013/12/08 职场文书
酒店总经理工作职责
2013/12/13 职场文书
高一历史教学反思
2014/01/13 职场文书
工厂总经理岗位职责
2014/02/07 职场文书
师范毕业生求职信
2014/07/11 职场文书
大二学生自我检讨书
2014/10/23 职场文书
党支部2014年度工作总结
2014/12/04 职场文书
优秀班主任推荐材料
2014/12/17 职场文书
初中优秀学生评语
2014/12/29 职场文书
民事纠纷协议书
2016/03/23 职场文书