该项目提供了多种求根算法的交互式可视化工具,包括 埃特肯法、二分法、牛顿法 和 弦截法。可以通过动态图形直观地观察这些方法如何逐步逼近根,并查看每一步的计算过程。
- 可视化:动态、逐步展示求根算法的迭代过程,使用交互式图表直观呈现算法的收敛情况。
- 多种求根方法:
- 二分法 (Bisection)
- 牛顿法 (Newton)
- 埃特肯法 (Aitken) [暂未开通]
- 弦截法 (Secant) [暂未开通]
- 交互功能:基于
Chart.js
和chartjs-plugin-zoom
,支持图表的缩放和拖动操作。 - 数学公式渲染:使用 MathJax 渲染数学表达式,用户可以在网页上查看格式化的公式。
- 易于扩展:项目采用模块化设计,方便扩展其他求根方法或改进可视化功能。
要在本地运行该项目,你需要安装 Python 3 和 pip
(Python 包管理工具)。
-
克隆该仓库:
https://github.com/Decent898/numerical_analysis_2.git cd numerical_analysis_2
-
创建并激活虚拟环境:
python -m venv env source env/bin/activate # Windows 用户使用: env\Scripts\activate
-
安装依赖:
pip install -r requirements.txt
-
运行项目:
flask run
-
打开浏览器并访问
http://127.0.0.1:5000
查看项目。
- 进入网页后,选择你想使用的求根算法。
- 输入数学表达式和其他参数,如迭代次数、容差等。
- 点击 “计算” 后,图表会动态展示每次迭代的过程。
- 通过图表的缩放和拖动功能,可以更好地观察算法的收敛过程。
- 埃特肯法:加速线性收敛序列的迭代方法。
- 二分法:通过不断缩小区间来逼近根。
- 牛顿切线法:利用切线逼近快速收敛的求根方法。
- 弦截法:类似牛顿法,但不需要算导数。
- 输入表达式
x^3 - 4x - 9
选择牛顿法。 - 设置初始猜测值
x0 = 2
,容差tol = 0.0001
,最大迭代次数max_iter = 50
。 - 查看动态图表如何逐步逼近解。
暂未开通
暂未开通