您可能认为这会起作用:
import numpy as npn = len(Tm)t = np.empty(n)t[0] = 0 # or whatever the initial condition is t[1:] = Tm[1:] + (t[0:n-1] - Tm[1:])**(-tau[1:])
但事实并非如此:您实际上无法以这种方式在numpy中进行递归(因为numpy计算了整个RHS,然后将其分配给LHS)。
因此,除非您可以提出该公式的非递归版本,否则您将陷入显式循环:
tt = np.empty(n)tt[0] = 0.for i in range(1,n): tt[i] = Tm[i] + (tt[i-1] - Tm[i])**(-tau[i])
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)