用python计算定积分

2024-09-28 20:53:53 发布

您现在位置:Python中文网/ 问答频道 /正文

我试着写一个循环来计算每一步的定积分值。函数bigF非常复杂。简单地说,它将与sfrom s=tn-(n/2)和{}相关的一系列术语集成在一起。在积分之后,bigF仍然有一个变量t。所以你可以说bigF(t) = integral(f(s,t)),其中{}是integrate.integ之后的一大堆术语。在最后一行中,我想在bigF计算f(s,t)的积分后,在t=tn处计算{}

运行之后,我得到错误global name 's' is not defined。但是s在积分中只是一个虚拟变量,因为我在计算卷积。我需要做什么?在

import numpy as np  
import scipy.integrate as integ 
import math 

nt=5001#; %since (50-0)/.01 = 5000
dt = .01#; % =H
H=.01

theta_n = np.ones(nt)
theta_n[1]=0#; %theta_o
omega_n = np.ones(nt)
omega_n[1]=-0.4# %omega_o
epsilon=10^(-6)
eta = epsilon*10
t_o=0

def bigF(t, n):
    return integrate.integ((422.11/eta)*math.exp((5*(4*((eta*t-s-tn)^2)/eta^2)-1)^(-1))*omega, s,tn-(n/2),tn+(n/2))

for n in range(1,4999)
    tn=t_o+n*dt;
    theta_n[n+1] = theta_n[n] + H*bigF(tn, n);

Tags: importasnpdtonesmathtneta