91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

  • 大小: 5KB
    文件類型: .py
    金幣: 1
    下載: 0 次
    發布日期: 2021-05-15
  • 語言: Python
  • 標簽: python??matplotlib??

資源簡介

[計算方法作業]利用python中matplotlib實現繪制二分法、牛頓法、弦截法圖像,利用二分法、牛頓法、弦截法求方程的根,用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.move(520?20)
????????button.resize(100?75)
????????button.clicked.connect(m.drawfunc)

????????#設置二分法按鈕
????????button?=?QPushButton(‘二分法‘?self)
????????button.move(520?115)
????????button.resize(100?75)
????????button.clicked.connect(m.drawdichotomy)

????????#設置牛頓法按鈕
????????button?=?QPushButton(‘牛頓法‘?self)
????????button.move(520?210)
????????button.resize(100?75)
????????button.clicked.connect(m.drawNewton)

????????#設置弦截法按鈕
????????button?=?QPushButton(‘弦截法‘?self)
????????button.move(520?305)
????????button.resize(100?75)
????????button.clicked.connect(m.secant)
????????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)
????????#初始化各項值
????????self.a=0.0001
????????self.a0=2.5
????????self.b=3
????????self.eps=0.00001?#精度
????????self.x0=3?#牛頓法近似值
????????#原始函數的值
????????self.x=np.linspace(03.5)
????????self.y=[self.func(i)?for?i?in?self.x]
????????FigureCanvas.__init__(self?fig)
????????self.setParent(parent)
?????????#挪動坐標位置
????????self.axes.set_xlim(04.5)
????????#去掉邊框
????????self.axes.spines[‘top‘].set_color(‘none‘)
????????self.axes.spines[‘right‘].set_color(‘none‘)
????????#移位置?設為原點相交
????????self.axes.xaxis.set_ticks_position(‘bottom‘)
????????self.axes.spines[‘bottom‘].set_position((‘data‘0))
????????self.axes.yaxis.set_ticks_position(‘left‘)
????????self.axes.spines[‘left‘].set_position((‘data‘0))
????????FigureCanvas.setSizePolicy(self
??????

評論

共有 條評論