gradient formula python achieve composite and composite Simpson formula

Compound trapezoid formula 1.
Here Insert Picture Description
2. The composite Simpson formula
Here Insert Picture Description
Here Insert Picture Description

python achieve

import math

def fun(x):
    return math.sin(x)/(x+1e-16) #加上1e-16避免除零错误

# 复合梯度
def tx(a,b,n):
    h=(b-a)/n
    fxi=0
    xi=a
    for i in range(1,n):
        xi=xi+h
        fxi=fxi+fun(xi)
    result=(h/2)*(fun(a)+fxi*2+fun(b))
    return result

#复合辛普森
def xps(a,b,n):   
    k=int(n/2)
    h=(b-a)/n
    fk=0
    xi=a
    for i in range(1,k):
        xi=xi+h
        fk=fk+fun(xi)
    xi=a+h/2
    fk1=fun(xi)
    for i in range(0,k):
        xi=xi+h
        fk1=fk1+fun(xi)
    result=(h/3)*(fun(a)+4*fk1+2*fk+fun(b))
    return result

print(tx(0,1,1000000))
print(xps(0,1,1000000))        

Here Insert Picture Description

Published 125 original articles · won praise 56 · views 70000 +

Guess you like

Origin blog.csdn.net/Nicht_sehen/article/details/102876951
Recommended