亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Python實現分段線性插值

發布時間:2020-10-02 08:15:42 來源:腳本之家 閱讀:378 作者:肥宅_Sean 欄目:開發技術

本文實例為大家分享了Python實現分段線性插值的具體代碼,供大家參考,具體內容如下

函數:

Python實現分段線性插值

算法

這個算法不算難。甚至可以說是非常簡陋。但是在代碼實現上卻比之前的稍微麻煩點。主要體現在分段上。

圖像效果

Python實現分段線性插值

代碼

import numpy as np
from sympy import *
import matplotlib.pyplot as plt


def f(x):
 return 1 / (1 + x ** 2)


def cal(begin, end):
 by = f(begin)
 ey = f(end)
 I = (n - end) / (begin - end) * by + (n - begin) / (end - begin) * ey
 return I


def calnf(x):
 nf = []
 for i in range(len(x) - 1):
  nf.append(cal(x[i], x[i + 1]))
 return nf


def calf(f, x):
 y = []
 for i in x:
  y.append(f.subs(n, i))
 return y


def nfSub(x, nf):
 tempx = np.array(range(11)) - 5
 dx = []
 for i in range(10):
  labelx = []
  for j in range(len(x)):
   if x[j] >= tempx[i] and x[j] < tempx[i + 1]:
    labelx.append(x[j])
   elif i == 9 and x[j] >= tempx[i] and x[j] <= tempx[i + 1]:
    labelx.append(x[j])
  dx = dx + calf(nf[i], labelx)
 return np.array(dx)


def draw(nf):
 plt.rcParams['font.sans-serif'] = ['SimHei']
 plt.rcParams['axes.unicode_minus'] = False
 x = np.linspace(-5, 5, 101)
 y = f(x)
 Ly = nfSub(x, nf)
 plt.plot(x, y, label='原函數')
 plt.plot(x, Ly, label='分段線性插值函數')
 plt.xlabel('x')
 plt.ylabel('y')
 plt.legend()

 plt.savefig('1.png')
 plt.show()


def lossCal(nf):
 x = np.linspace(-5, 5, 101)
 y = f(x)
 Ly = nfSub(x, nf)
 Ly = np.array(Ly)
 temp = Ly - y
 temp = abs(temp)
 print(temp.mean())


if __name__ == '__main__':
 x = np.array(range(11)) - 5
 y = f(x)

 n, m = symbols('n m')
 init_printing(use_unicode=True)

 nf = calnf(x)
 draw(nf)
 lossCal(nf)

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持億速云。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

社旗县| 彩票| 进贤县| 眉山市| 华亭县| 南充市| 方山县| 酉阳| 水富县| 玉林市| 松溪县| 双鸭山市| 含山县| 彭水| 仪征市| 临邑县| 柘城县| 芒康县| 常州市| 台前县| 镇江市| 江都市| 五大连池市| 大宁县| 呼图壁县| 鹿泉市| 屏边| 泸西县| 甘洛县| 枣庄市| 浮山县| 绥阳县| 含山县| 和田县| 大悟县| 肥乡县| 富源县| 锡林郭勒盟| 沙湾县| 锡林浩特市| 靖边县|