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 continue语句用法实例
Mar 11 Python
使用Python中的线程进行网络编程的入门教程
Apr 15 Python
Python中Class类用法实例分析
Nov 12 Python
Tensorflow简单验证码识别应用
May 25 Python
Python基于matplotlib绘制栈式直方图的方法示例
Aug 09 Python
Python3之不使用第三方变量,实现交换两个变量的值
Jun 26 Python
python装饰器常见使用方法分析
Jun 26 Python
pygame实现烟雨蒙蒙下彩虹雨
Nov 11 Python
Python 实现取多维数组第n维的前几位
Nov 26 Python
Flask和pyecharts实现动态数据可视化
Feb 26 Python
浅谈pandas.cut与pandas.qcut的使用方法及区别
Mar 03 Python
Python3读取和写入excel表格数据的示例代码
Jun 09 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源码之 ext/mysql扩展部分
2009/07/17 PHP
php操作xml入门之cdata区段
2015/01/23 PHP
php实现图片转换成ASCII码的方法
2015/04/03 PHP
Ajax和PHP正则表达式验证表单及验证码
2016/09/24 PHP
php版交通银行网银支付接口开发入门教程
2016/09/26 PHP
基于laravel where的高级使用方法
2019/10/10 PHP
P3P Header解决Cookie跨域的问题
2013/03/12 Javascript
Javascript验证上传图片大小[前台处理]
2014/07/18 Javascript
js事件委托和事件代理案例分享
2017/07/25 Javascript
JS数组去重常用方法实例小结【4种方法】
2018/05/28 Javascript
微信小程序实现复选框效果
2018/12/28 Javascript
jQuery实现带3D切割效果的轮播图功能示例【附源码下载】
2019/04/04 jQuery
d3.js 地铁轨道交通项目实战
2019/11/27 Javascript
element 动态合并表格的步骤
2020/12/31 Javascript
Python类属性与实例属性用法分析
2015/05/09 Python
Python pandas常用函数详解
2018/02/07 Python
Python如何实现小程序 无限求和平均
2020/02/18 Python
Python基于DB-API操作MySQL数据库过程解析
2020/04/23 Python
PyCharm中配置PySide2的图文教程
2020/06/18 Python
通过代码实例了解Python异常本质
2020/09/16 Python
python 实现关联规则算法Apriori的示例
2020/09/30 Python
如何解决python多种版本冲突问题
2020/10/13 Python
python爬虫scrapy基本使用超详细教程
2021/02/20 Python
四方通行旅游网:台湾订房、出国旅游
2017/09/20 全球购物
英国邮购活的植物主要供应商:Gardening Direct
2019/01/28 全球购物
介绍一下木马病毒的种类
2015/07/26 面试题
如何将一个描述日期或日期/时间的字符串转换为一个Date对象
2015/10/13 面试题
前台文员个人求职信范文
2014/01/05 职场文书
给校长的建议书400字
2014/05/15 职场文书
清明节演讲稿
2014/05/27 职场文书
学习计划书怎么写
2014/09/15 职场文书
机关干部作风建设剖析材料
2014/10/23 职场文书
通知的写法
2015/04/23 职场文书
全国劳模先进事迹材料(2016精选版)
2016/02/25 职场文书
Go语言基础map用法及示例详解
2021/11/17 Golang
Python下载商品数据并连接数据库且保存数据
2022/03/31 Python