Numerische IntegrationsbewertungPython

Python-Programme
Guest
 Numerische Integrationsbewertung

Post by Guest »

Das Integral ist
Image

Dabei folgen die Variablen der folgenden Verteilung:
Image

Somit wird das Integral zu:

Image

Mein Code in Python besteht nun darin, den Ausdruck zu integrieren, wobei \(W_{1:3}\) jeweils \(1,2,3\) ist , \(r_1 = 0\), \(v\), was bedeutet, dass die Varianz \(1\) ist, und die Zeitkonstante \(tau\) ist \(1 \) möchte ich Wurzeln der Ableitung schätzen, um \(D\) wie folgt zu finden:

import sympy as sp
import math

w_n = [0,1,2]
r_1 = sp.Symbol("r_1")
r_2 = sp.Symbol("r_2")
r_3 = sp.Symbol("r_3")
r_n = [0, r_2,r_3]
D = sp.Symbol("D")
v = sp.Symbol("v")
t = sp.Symbol("t")

def expo_power(i=0,t=t,D=D,v=v):
return ((((w_n - r_n) ** 2)/(2 * v)) + (((r_n - r_n[i-1]) ** 2)/(4 * D * t)))

def expo_power_sum(lower_bound = 2, upper_bound=3,t=t,D=D,v=v):
f = 0
for i in range(lower_bound,upper_bound):
f += expo_power(i-1,t=t,D=D,v=v)
return f

def P_w_n_P_r_n(i=0,v=v,D=D,t=t):
return (1/(8 * (sp.pi ** 2) * D * t * v)) \
* sp.exp(-expo_power_sum(lower_bound=2,upper_bound=3,t=t,D=D,v=v))

def P_w_i_r_i(i = 0, v=v):
return (1/(sp.sqrt(2 * sp.pi * v))) \
* sp.exp(-((w_n - r_n) ** 2/(2 * v)))

def normal_dist(x =0, m = r_n[0], v =v):
return (1/(sp.sqrt(2 * sp.pi * v))) \
* sp.exp(-(((x - m) ** 2)/(2 * v)))

def integrand(v = v,t=t,lower = 2):
f = P_w_n_P_r_n(i=lower,v=v,D=D,t=t)
sp.pprint(f)
f = f * P_w_i_r_i(v=v)
f = f * normal_dist(x=r_n[0],v=v)
return f

def integrate(v=v,t=t, lower_bound = -sp.oo, upper_bound= sp.oo):
function = integrand(v=v,t=t)
integral_1 = sp.integrate(function, (r_1, lower_bound, upper_bound)).evalf()
sp.pprint(integral_1)
integral_2 = sp.integrate(integral_1, (r_3, lower_bound, upper_bound)).evalf()
sp.pprint(integral_2)
integral_3 = sp.integrate(integral_2, (r_2, lower_bound, upper_bound)).evalf()
num = sp.N(integral_3)
print(num)
#sp.pprint(integral_3)
deriv = sp.diff(num, D)
sol = sp.solve(deriv, D)
sp.pprint(sol)
integrate(v=1,t=1,lower_bound=-1000,upper_bound=1000)


Die angezeigte Lösung ist nun das Verhältnis zwischen zwei nicht bewerteten Integralen.
Beachten Sie, dass
Image
und t im Python-Code ist (tau) und wir finden die Wurzeln der Ableitung in Bezug auf zu (D) nach der Marginalisierung out (r_1,r_2,r_3), das Integral wird nicht ausgewertet, insbesondere für (r_2)

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post