Skip to content

Experiment for Course "numerical analysis", Episode 2 ---- Root Finding Methods Visualization

Notifications You must be signed in to change notification settings

Decent898/numerical_analysis_2

Repository files navigation

求根算法可视化项目

该项目提供了多种求根算法的交互式可视化工具,包括 埃特肯法二分法牛顿法弦截法。可以通过动态图形直观地观察这些方法如何逐步逼近根,并查看每一步的计算过程。

演示

项目特点

  • 可视化:动态、逐步展示求根算法的迭代过程,使用交互式图表直观呈现算法的收敛情况。
  • 多种求根方法
    • 二分法 (Bisection)
    • 牛顿法 (Newton)
    • 埃特肯法 (Aitken) [暂未开通]
    • 弦截法 (Secant) [暂未开通]
  • 交互功能:基于 Chart.jschartjs-plugin-zoom,支持图表的缩放和拖动操作。
  • 数学公式渲染:使用 MathJax 渲染数学表达式,用户可以在网页上查看格式化的公式。
  • 易于扩展:项目采用模块化设计,方便扩展其他求根方法或改进可视化功能。

目录

安装

要在本地运行该项目,你需要安装 Python 3 和 pip(Python 包管理工具)。

  1. 克隆该仓库:

    https://github.com/Decent898/numerical_analysis_2.git
    cd numerical_analysis_2
  2. 创建并激活虚拟环境:

    python -m venv env
    source env/bin/activate  # Windows 用户使用: env\Scripts\activate
  3. 安装依赖:

    pip install -r requirements.txt
  4. 运行项目:

    flask run
  5. 打开浏览器并访问 http://127.0.0.1:5000 查看项目。

使用

  • 进入网页后,选择你想使用的求根算法。
  • 输入数学表达式和其他参数,如迭代次数、容差等。
  • 点击 “计算” 后,图表会动态展示每次迭代的过程。
  • 通过图表的缩放和拖动功能,可以更好地观察算法的收敛过程。

求根算法介绍

  • 埃特肯法:加速线性收敛序列的迭代方法。
  • 二分法:通过不断缩小区间来逼近根。
  • 牛顿切线法:利用切线逼近快速收敛的求根方法。
  • 弦截法:类似牛顿法,但不需要算导数。

示例

  1. 输入表达式 x^3 - 4x - 9 选择牛顿法。
  2. 设置初始猜测值 x0 = 2,容差 tol = 0.0001,最大迭代次数 max_iter = 50
  3. 查看动态图表如何逐步逼近解。

贡献

暂未开通

许可

暂未开通

About

Experiment for Course "numerical analysis", Episode 2 ---- Root Finding Methods Visualization

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published