高斯-赛德尔与雅可比迭代解线性方程组的收敛演示

高斯-赛德尔与雅可比迭代解线性方程组的收敛演示
几何画板及绘图内容加载中,请稍等……
2021-01-02 06:35
该范例通过交替迭代计算,展示雅可比法与高斯-赛德尔法在求解线性方程组时的收敛过程与误差变化。核心数学概念包括:线性方程组 Ax=b、迭代法(Jacobi/Gauss-Seidel)、矩阵分解思想、误差度量 ε 以及相邻迭代的差异(difference & slope)。作图/构造要点:利用 GeoGebra 的 If、Sequence、Flatten、Textfield 等命令实现迭代步的生成、条件停止(满足误差阈值 ε)、以及对误差与迭代结果的文本显示;通过对象 m、O、n、k、GSR/GSL/GS/GSX、StepGS、JAC/JS/StepJS、GSJS、text1/text2、Loop、InputBox1、button1/button2/button3 等完成系数输入、迭代流程与交互按钮控制。使用 X0 与多步初值 X_{00}…X_{08}(以及 X_O、X_{01}…)组织迭代向量序列,并用 GSErr、txtErr 输出迭代误差,形成可观察的收敛轨迹。适合中学后期到大学的数值分析/线性代数课程演示,也适合数理建模与算法学习使用。

GeoGebra 命令及参数

  1. Length(A) → n
  2. If(k < n, "-Sum(Element(A, " + k + ", i) * Element(X_{" + (If[m < 10, O + m, "" + m]) + "}, i), i, " + (k + 1) + ", n)", "-0") → GSR
  3. If(k > 1, "-Sum(Element(A, " + k + ", i) * Element(X_{" + (If[m < 9, O + (m + 1), "" + (m + 1)]) + "}, i), i, 1, " + (k - 1) + ")", "-0") → GSL
  4. Sequence("Delete(X_{" + (If[j < 10, O + (j), "" + (j)]) + "}" + ")", j, 1, m) → GSdel
  5. Flatten({"X_{" + (If[m < 9, O + (m + 1), "" + (m + 1)]) + "}=" + GSX, Sequence[{"SetValue(k," + (j) + ")", GS}, j, 1, n], "SetValue(m," + (m + 1) + ")"}) → StepGS
  6. Flatten({"X_{" + (If[m < 9, O + (m + 1), "" + (m + 1)]) + "}=" + GSX, Sequence[{"SetValue(k," + (j) + ")", JS}, j, 1, n], "SetValue(m," + (m + 1) + ")"}) → StepJS
  7. Textfield(Loop) → InputBox1
  8. Sequence(X_O, j, 1, n) → X_{00}

AI 绘图提示语参考

绘制一个展示线性方程组迭代求解收敛过程的示意图。图中包含一个二维坐标平面,横轴和纵轴分别表示未知数的两个分量。从初始点出发,用两种不同颜色的折线分别表示雅可比迭代和高斯-赛德尔迭代的轨迹,每条折线由一系列离散点组成,点之间用线段连接,逐步逼近两条直线的交点(即精确解)。图中还标注误差阈值,当迭代点与精确解的距离小于该阈值时停止迭代。界面包含一个输入框用于设置迭代次数,以及三个按钮分别控制单步执行、连续运行和重置。每次迭代后,在图形旁显示当前迭代次数和误差值,误差值随迭代次数增加而减小。
以上提示语为根据原始绘图命令整理而来,仅供参考。