0

我正在尝试用 scipy 对嘈杂的数据进行近似,但它似乎不适用于这个特定的功能。应用平滑因子“s”不会改变任何东西。我最终得到插值而不是近似值。奇怪的是,它通常近似于相同类型的函数 (x^-2)。怎么可能改变?

import numpy as np
import matplotlib.pyplot as plt
from scipy.interpolate import UnivariateSpline as unis

h = 11
data = {'d':12, 'f':0.22, 'h':11, 'G':250}

HA = np.linspace(data['d']*data['f'], h, 50)
FA = (data['G'] * ((np.arcsin((data['d']*data['f'])/(2*HA)))))+np.random.normal(scale=1, size=len(HA))

app = unis(HA, FA, s=2)
HA2 = np.linspace(np.min(HA), np.max(HA), 1000)
plt.plot(HA, FA, 'ro')
plt.plot(HA2, app(HA2))
4

0 回答 0