问题描述
我正在尝试实现数值积分。具体来说,
我使用梯形法则得到如下解析表达式
当我尝试用数字实现它时。
gamma=0.1 #parameter
Tmax=100
N=100000 #number of steps
t=np.linspace(0,Tmax,N)
B=np.random.rand(len(t))
def A(t):
A=np.zeros(len(t))
trapezi=0
for i in range(1,N-1):
trapezi+=(np.exp(-gamma*(Tmax-t[i]))*B[i])
h=Tmax/N
A=h*(trapezi+1/2*(B[-1]+B[0]*np.exp(-gamma*Tmax)))
return A
问题是现在输出 A(t) 只是一个值(即对于这个 t,我得到 A(t)=0.47),但我需要的是从 t=0 开始的函数数组到 t=t。这是我的主要问题:如何将变量 t 用作积分中的参数和变量。
非常欢迎任何建议。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)