You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python中如何从for循环生成梯形法积分S值的序列列表

你只需要新增一个空列表存储每次迭代得到的S值即可,修改后的完整代码如下:

import math

def trap(f,a,b):
    return ( f(a) + f(b) ) / 2 * (b-a)

a = 0
b = 2
n_vals = [2**p for p in range(0,21)]
h_vals = [(b-a)/n for n in n_vals]
f = lambda x: math.exp(x) + x**2

# 初始化空列表存储积分结果
I = []
for n,h in zip(n_vals,h_vals):
    S = 0
    for k in range(n):
        thisA = a + k*h
        thisB = a + (k+1)*h
        S += trap(f, thisA, thisB)
    # 把当前计算得到的S加入列表
    I.append(S)
    print(f"Integral for {n} partitions = {S}")

# 打印你需要的格式的结果列表
print(I)

改动点说明:

  • 遍历n_vals的循环开始前,新增初始化空列表I = []
  • 每次循环内计算完当前分区对应的S值后,调用I.append(S)将结果存入列表
  • 所有迭代完成后I就是你要求格式的S值序列,可直接调用。

内容的提问来源于stack exchange,提问作者Ryan McAree

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.28 15:36:07