python 实现复合梯度公式及复合辛普森公式

1.复合梯形公式
在这里插入图片描述
2.复合辛普森公式
在这里插入图片描述
在这里插入图片描述

python实现

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))        

在这里插入图片描述

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值