Skip to content

Aqua65535/Calculus_Integration

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

17 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

定积分数值计算方法 - 高等数学大作业

📚 项目概述

本项目是《高等数学》课程大作业,通过 Python 编程实现并比较了三种数值积分方法:

  • 矩形法(左矩形、中矩形)
  • 梯形法

以定积分 (\int_a^b f(x) , dx) 的计算为例,直观展示了“以直代曲”的数值积分思想,并通过可视化分析各方法的精度与收敛特性。

🚀 快速开始

环境要求

  • Python 3.8 或更高版本
  • 以下 Python 库:
    • NumPy
    • Matplotlib

安装依赖

pip install -r requirements.txt

运行示例

  1. 运行多项式函数实验(生成图1、图2):

    cd Src
    python poly_integration.py
  2. 运行指数函数实验(生成图3):

python exp_integration.py

程序运行后会自动:

  • 在控制台输出数值结果与误差分析
  • 生成可视化图像并保存
  • 显示对比图表

📊 实验内容

实验一:指数函数积分

  • 测试函数:( f(x) = e^x )
  • 积分区间:( [0, 1] )
  • 精确值:( e - 1 \approx 1.718281828 )
  • 可视化输出numerical_integration_results.png

包含四个子图

  1. 左矩形法的几何示意(n=32)
  2. 中矩形法的几何示意(n=32)
  3. 梯形法的几何示意(n=32)
  4. 误差收敛曲线(对数坐标,n=2~100)

实验二:多项式函数积分

  • 测试函数:( f(x) = x^2 + 0.5 )
  • 积分区间:( [0, 2] )
  • 精确值:( \frac{8}{3} \approx 2.666667 )
  • 可视化输出
    • riemann_sum_convergence.png(黎曼和逼近)
    • rect_vs_trap.png(矩形法与梯形法对比)

⚙️ 参数配置

所有关键参数都在每个脚本文件开头集中设置,方便修改:

exp_integration.py 主要参数

# 积分区间
a, b = 0, 1

# 分割数设置
n = 32                    # 基本分割数(前三个图的n值)
max_n_for_plot = 100      # 误差图的最大n值

poly_integration.py 主要参数

# 积分区间
a, b = 0, 2

# 分割数设置
n_values_plot1 = [4, 8, 16]  # 图1的分割数列表
n_plot2 = 4                  # 图2的分割数

📈 实验结果

精度比较(以指数函数为例,n=32时)

方法 近似值 绝对误差 相对误差
左矩形法 1.6920 0.0263 1.53%
中矩形法 1.7182 0.0001 0.006%
梯形法 1.7183 0.0000 0.001%

收敛特性

  1. 左矩形法:误差以 (O(1/n)) 速率下降
  2. 中矩形法:误差以 (O(1/n^2)) 速率下降
  3. 梯形法:误差以 (O(1/n^2)) 速率下降,常数项更小

🛠 代码特点

  1. 模块化设计:每个积分方法都是独立函数
  2. 参数集中配置:所有可调参数在文件开头统一设置
  3. 完整可视化:自动生成几何示意图和误差分析图
  4. 详细输出:控制台显示分步结果和误差数据
  5. 中文支持:完整的中文字符显示配置

🔧 自定义实验

要测试其他函数,只需修改两处:

  1. 修改函数定义(在两个脚本的 f(x) 函数中):

    def f(x):
        return np.sin(x)  # 例如改为正弦函数
  2. 更新精确积分值(如果需要误差分析):

    exact_value = -np.cos(b) + np.cos(a)  # ∫ sin(x)dx = -cos(x)

📝 实验报告要点

本项目对应的实验报告主要包含:

  1. 数值积分的基本原理与黎曼和思想
  2. 矩形法(左、中)与梯形法的公式推导
  3. 数值实验结果与误差分析
  4. 可视化展示与收敛特性讨论
  5. 方法比较与应用建议

👩‍💻 作者信息

  • 姓名:刘芳玮
  • 学号:2503020319
  • 课程:高等数学(上)
  • 学期:2025-2026学年 第1学期

版权声明

本项目代码部分由刘芳玮(学号:2503020319)完成,为《高等数学》课程作业。 代码开源仅供学习交流,请勿直接复制提交。


提示:如果运行时报中文字体错误,可安装中文字体或修改代码中的字体设置为系统已有字体。

项目创建日期:2025年12月 最后更新:2025年12月

About

Python实现数值积分:矩形法 vs 梯形法 | 可视化误差分析 | 高数实验

Resources

License

Stars

1 star

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages