-
大小: 5KB文件类型: .py金币: 1下载: 0 次发布日期: 2021-05-15
- 语言: Python
- 标签: python matplotlib newton lagrange
资源简介
利用python中matplotlib库,实现绘制牛顿插值、拉格朗日插值、三次样条插值函数图像。
随机在图像上产生5个随机点,用三种插值方式求函数,并用python中matplotlib库绘制在图像上
代码片段和文件信息
import sys
from PyQt5.QtWidgets import QApplication QMainWindow QSizePolicy QPushButton
from matplotlib.backends.backend_qt5agg import FigureCanvasQTAgg as FigureCanvas
from matplotlib.figure import Figure
import matplotlib.pyplot as plt
import numpy as np
import scipy.interpolate as spi
#显示中文和负数
plt.rcParams[‘font.sans-serif‘]=[‘SimHei‘]
plt.rcParams[‘axes.unicode_minus‘]=False
class App(QMainWindow):
def __init__(self):
super().__init__()
self.initUI()
def initUI(self):
self.setWindowtitle(“插值方法“)
self.setGeometry(200 200 640 400)
m = Interpolation(self width=5 height=4)#实例化一个画布对象
m.move(0 0)
#设置随机数按钮
button = QPushButton(‘随机数‘ self)
button.setToolTip(“产生5个随机数“)
button.move(520 20)
button.resize(100 75)
button.clicked.connect(m.main)
#设置牛顿插值按钮
button = QPushButton(‘牛顿插值‘ self)
button.move(520 115)
button.resize(100 75)
button.clicked.connect(m.main1)
#设置拉格朗日按钮
button = QPushButton(‘拉格朗日插值‘ self)
button.move(520 210)
button.resize(100 75)
button.clicked.connect(m.main2)
#设置三次样条插值
button = QPushButton(‘三次样条插值‘ self)
button.move(520 305)
button.resize(100 75)
button.clicked.connect(m.main3)
self.show()
#插值方法类
class Interpolation(FigureCanvas):
def __init__(self parent=None width=5 height=4 dpi=100):
fig = Figure(figsize=(width height) dpi=dpi)
self.axes = fig.add_subplot(111)
FigureCanvas.__init__(self fig)
self.setParent(parent)
FigureCanvas.setSizePolicy(self
QSizePolicy.Expanding
QSizePolicy.Expanding)
FigureCanvas.updateGeometry(self)
#初始为牛顿插值图像
#self.main()
self.X = sorted(self.suiji(-20205))
self.Y = sorted(self.suiji(-20205))
#牛顿插值函数
def newton_interpolation(XYinit):
sum=Y[0]
temp=np.zeros((len(X)len(X)))
#将第一行赋值
for i in range(0len(X)):
temp[i0]=Y[i]
temp_sum=1.0
for i in range(1len(X)):
#x的多项式
temp_sum=temp_sum*(init-X[i-1])
相关资源
- [计算方法作业]利用python中matplotlib实
- 全景图像拼接python+opencv
- 复旦大学人工智能N-Queens答案
- 100个经典Python
- python操作同花顺客户端下单程序
- opemv4-0v7725.rar
- FaceClustering.zip
- python 利用OpenCV 图像黑白化
- PythonTCP编程
- 《python常见图形代码可视化大全整理
- 代码大米计数PYTHON
- 在我的世界Minecraft 中用Python搭建剑球
- python图片爬取.rar
- 人工免疫算法python
- Python scrapy爬取豆瓣电影top250
- Python员工信息管理系统
- cohesive_COH2D4 for Quad.py
- 新浪微博爬虫代码+结果
- Python-RNNoiseRNN音频噪声抑制学习
- Python-Keras实现实时语义分割的深层神
- Python-通过百度语音API实现文本转语音
- Python-Binance虚拟货币交易机器人
- Python-2019年百度的三元组抽取比赛一个
- Python-微信公众号历史文章爬取api
- Python-手势识别使用在TensorFlow中卷积神
- Python-python识别字符验证码
- Python-利用pandas将excel中数据抽取以三
- Python-基于pygame和tkinter本地音乐播放器
- HTMLTestRunner.py python3.6
- Python+Django+MySQL实现基于Web版的增删改
评论
共有 条评论