【问题标题】:Integrating numerical data with scipy将数值数据与 scipy 集成
【发布时间】:2015-07-02 03:04:21
【问题描述】:

基本上,我有 2 个从一组数据点获得的数组,一个用于 x 值,一个用于 y 值。我需要将 y 值相对于 x 值进行数值积分 - 即 y 中的一个元素相对于 x 中的相应元素进行积分。这应该会生成一个新的元素数组。我已经尝试过辛普森的规则,但我得到了一个值而不是一个数组。我正在寻找一个一般的想法或方法。但是,我们将不胜感激任何帮助。

谢谢。

【问题讨论】:

标签: python arrays scipy integration


【解决方案1】:
# check out this:
def integration_by_simpsons_3_8_th_rule(i,X,Y,Fd):
   h = X[i]-X[i-1]
   y_n = Y[i]
   y_n_1 = signal[i-1]
   y_n_2 = signal[i-2]
   y_n_3 = signal[i-3]
   Area = (3/8)*h*( y_n_3 + 3*(y_n_2 + y_n_1) + y_n )
   return (X[i-1],Area)

def rolling_integration(X,Y,Fd):
    Y_int = []
    corres_X = []
    for i in range(3,len(signal),1):
        x,y = integration_by_simpsons_3_8_th_rule(i,X,Y,Fd)
        Y_int.append(float(y))
        corres_X.append(float(x))
    return (np.array(corres_X)+(np.array(1/(4*float(Fd)))),np.array(Y_int))

#Fd : for phase correction

【讨论】:

    猜你喜欢
    • 2019-04-30
    • 2017-05-16
    • 1970-01-01
    • 2020-05-18
    • 2012-08-11
    • 2020-08-02
    • 2020-03-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多