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将html转成PDF的实现代码(包含中文)
Mar 04 Python
Python使用chardet判断字符编码
May 09 Python
Python pickle模块用法实例分析
May 27 Python
Python实现以时间换空间的缓存替换算法
Feb 19 Python
详解Python的Twisted框架中reactor事件管理器的用法
May 25 Python
Python numpy实现数组合并实例(vstack,hstack)
Jan 09 Python
PyGame贪吃蛇的实现代码示例
Nov 21 Python
简单易懂Pytorch实战实例VGG深度网络
Aug 27 Python
Python实现非正太分布的异常值检测方式
Dec 09 Python
浅谈python累加求和+奇偶数求和_break_continue
Feb 25 Python
python将logging模块封装成单独模块并实现动态切换Level方式
May 12 Python
pycharm中leetcode插件使用图文详解
Dec 07 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
CodeIgniter框架过滤HTML危险代码
2014/06/12 PHP
PHP实现根据密码长度显示安全条
2017/07/04 PHP
javascript 限制输入脚本大全
2009/11/03 Javascript
Jquery实现三层遍历删除功能代码
2013/04/23 Javascript
JS小功能(onmouseover实现选择月份)实例代码
2013/11/28 Javascript
IE与FF下javascript获取网页及窗口大小的区别详解
2014/01/14 Javascript
js实现每日自动换一张图片的方法
2015/05/04 Javascript
javascript实现将文件保存到本地方法汇总
2015/07/26 Javascript
jQuery+css3实现转动的正方形效果(附demo源码下载)
2016/01/27 Javascript
JS递归遍历对象获得Value值方法技巧
2016/06/14 Javascript
微信小程序 location API实例详解
2016/10/02 Javascript
将json转换成struts参数的方法
2016/11/08 Javascript
bootstrap基本配置_动力节点Java学院整理
2017/07/14 Javascript
vue做网页开场视频的实例代码
2017/10/20 Javascript
基于jQuery的$.getScript方法去加载javaScript文档解析
2017/11/08 jQuery
vue实现搜索过滤效果
2019/05/28 Javascript
一文快速了解JQuery中的AJAX
2019/05/31 jQuery
mpvue 页面预加载新增preLoad生命周期的两种方式
2019/10/17 Javascript
《javascript设计模式》学习笔记一:Javascript面向对象程序设计对象成员的定义分析
2020/04/07 Javascript
JavaScript实现多文件下载方法解析
2020/08/07 Javascript
[03:03]2014DOTA2西雅图国际邀请赛 Alliance战队巡礼
2014/07/07 DOTA
[01:45:05]VGJ.T vs Newbee Supermajor 败者组 BO3 第二场 6.6
2018/06/07 DOTA
Python 查找字符在字符串中的位置实例
2018/05/02 Python
python GUI编程(Tkinter) 创建子窗口及在窗口上用图片绘图实例
2020/03/04 Python
使用 django orm 写 exists 条件过滤实例
2020/05/20 Python
基于python 将列表作为参数传入函数时的测试与理解
2020/06/05 Python
新手学python应该下哪个版本
2020/06/11 Python
Java爬虫技术框架之Heritrix框架详解
2020/07/22 Python
解决pytorch 数据类型报错的问题
2021/03/03 Python
纯CSS3实现鼠标滑过按钮动画第二节
2020/07/16 HTML / CSS
Tretorn美国官网:瑞典外套和鞋类品牌,抵御风雨
2018/07/19 全球购物
英国女性时尚鞋类的潮流制造者:Koi Footwear
2018/10/19 全球购物
remote接口和home接口主要作用
2013/05/15 面试题
《晏子使楚》教学反思
2014/02/08 职场文书
JS实现扫雷项目总结
2021/05/19 Javascript
nginx实现动静分离的方法示例
2021/11/07 Servers