数值分析实验 实验2-3 龙贝格公式 python3实现

题目: 数值分析实验 实验2-3 龙贝格公式 python3实现
文章图片

代码:

import math# 求积区间 a, b = 0, 1 # 区间二分的最大次数 n = 4 # 分点 x = []# 要积的函数 def fx(xk): if xk == 0: return 1 return math.sin(xk) / xk# 梯形公式 x2 > x1 def trapezium(x1, x2): return (fx(x1) + fx(x2)) / 2 * (x2 - x1)# 梯形公式结果集 # 存放t1,t2,t4,t8 tn_list = [] for i in range(n+1): subscript = int(math.pow(2, i)) # 步长 h = (b - a) / subscript x = [a+k*h for k in range(subscript+1)] tn = 0 for j in range(subscript): tn += trapezium(x[j], x[j+1]) tn_list.append(tn)l1 = [4/3, 16/15, 64/63] l2 = [1/3, 1/15, 1/63]temp = 0 while temp != 3: temp += 1 for i in range(len(tn_list) - 1): tn_list[i] = tn_list[i + 1] * l1[temp - 1] - tn_list[i] * l2[temp - 1] tn_list.pop()print(tn_list)

运行结果: 【数值分析实验 实验2-3 龙贝格公式 python3实现】数值分析实验 实验2-3 龙贝格公式 python3实现
文章图片

    推荐阅读