【发布时间】:2013-04-12 06:59:30
【问题描述】:
我有一个卷积积分类型:
为了用数值求解这个积分,我想使用numpy.convolve()。现在,正如您在online help 中看到的那样,卷积是从 -infinity 到 +infinity 正式完成的,这意味着数组完全相互移动以进行评估 - 这不是我需要的。我显然需要确保选择正确的卷积部分 - 您能否确认这是正确的方法,或者告诉我如何正确地做以及(可能更重要)为什么?
res = np.convolve(J_t, dF, mode="full")[:len(dF)]
J_t 是一个分析函数,我可以根据需要评估尽可能多的点,dF 是测量数据的导数。对于这次尝试,我选择len(J_t) = len(dF),因为据我了解,我不需要更多。
感谢您的想法,一如既往,感谢您的帮助!
背景信息(供可能感兴趣的人使用)
这些类型的积分可用于评估物体的粘弹性行为(或电压变化期间电路的响应,如果您对此主题更熟悉的话)。对于粘弹性,J(t) 是蠕变柔量函数,F(t) 可以是随时间变化的偏应变,那么这个积分将产生偏应力。 如果你现在例如有一个 J(t) 的形式:
J_t = lambda p, t: p[0] + p[1]*N.exp(-t/p[2])
p = [J_elastic, J_viscous, tau] 将是“著名的”standard linear solid。积分限制是测量的开始 t_0 = 0 和感兴趣的时刻 t。
【问题讨论】: