I need to integrate a very long function. The function contains several array and I don't succeed to integrate it. I need to integrate it on teta1 (80,) but it contains also w (22,),f (22,),Gam_Mag (22,). I tried to decompose it but I'm not sure if it's good or not.
Here is my function:
def function1(teta1,w,f,Mag_Gam):
Zp1=i*w*ms1*(1-(1+i*Nu)*np.sin(teta1)**4*(f/fc1)**2)
a1=1
b1=Zp1
c1=0
d1=1
ac=np.cosh(Mag_Gam*d*np.cos(teta1))
bc=Zc*np.sinh(Mag_Gam*d*np.cos(teta1))/np.cos(teta1)
cc=np.sinh(Mag_Gam*d*np.cos(teta1))/Zc*np.cos(teta1)
dc=np.cosh(Mag_Gam*d*np.cos(teta1))
Zp2=i*w*ms2*(1-(1+i*Nu)*np.sin(teta1)**4*(f/fc2)**2)#B1/(i*w)*(k0**4*np.sin(teta)**4-kb1**4)
a2=1
b2=Zp2
c2=0
d2=1
at=a1*ac+b1*cc
bt=a1*bc+b1*dc
ct=c1*ac+d1*cc
dt=c1*bc+d1*dc
aT=at*a2+bt*c2
bT=at*b2+bt*d2
cT=ct*a2+dt*c2
dT=ct*b2+d2*dt
T=np.array([[aT,bT],[cT,dT]])
return 4*abs(T[0,0]+T[0,1]/Zc+Zc*T[1,0]+Zc*T[1,1]/Zc)**(-2)
Here the integration:
Tau=np.zeros(len(f))
err=np.zeros(len(f))
for n in range(len(f)):
Tau,err=quad(function1(teta1,w[n],f[n],Mag_Gam[n]),0,80,args=(1,)) #Integration on teta1
TL=10*np.log10(1/Tau)
And here is the error message:
