题目: 【数值分析实验 实验2-1 复化梯形公式 python3实现】设计复化梯形公式求积算法
代码:
# 要积的函数,字符串形式
fx_str = str(input("请输入要积的函数,格式为 x*x+1 (即变量用x表示,乘号用*表示):"))
# 求积的区间[a, b]
a, b = list(map(float, input("请输入求积区间[a, b],格式为 a b :").split()))
# 区间划分的份数
n = int(input("请输入需要划分的份数:"))
# 步长
h = (b - a) / n
# 分点,一共n+1个
x = [a+k*h for k in range(n+1)]# 要积的函数
def fx(xk):
return eval(fx_str.replace("x", str(xk)))# 梯形公式 x2 > x1
def trapezium(x1, x2, fx1, fx2):
return (fx1 + fx2) / 2 * (x2 - x1)# 复化梯形公式
tn = 0
for i in range(n):
tn += trapezium(x[i], x[i+1], fx(x[i]), fx(x[i+1]))print(tn)
运行结果:
文章图片
推荐阅读
- 数值分析实验 实验1-1 拉格朗日插值公式 python3实现
- 数值分析实验 实验4-2 选主元高斯消去法 python3实现
- 数值分析实验 实验2-3 龙贝格公式 python3实现
- 数值分析实验 实验1-2 牛顿插值公式 python3实现