Jacobi 方法的 Matlab 实现,其实挺适合刚接触数值计算的你。用法简单,就是写个jacobi(A,b,toll,kmax)的函数,输入矩阵A和向量b,加上误差容忍度和最大迭代次数,就能跑起来。代码结构清晰,每一步都好理解,适合拿来做学习模板。

初始化用零向量开局,不断迭代更新解向量,直到误差足够小或者次数到了上限。要注意,Jacobi 法对矩阵有点挑——最好是对角占优的,不然容易不收敛,调了半天没结果真让人头秃。

不过你要是的是大型稀疏矩阵,这个方法还挺有用,毕竟结构简单,不占太多内存。代码里更新残差和收敛判断也都一应俱全,直接改改就能应用到你的项目里,挺方便的。

如果你追求更快收敛或者更稳的表现,也可以考虑混用Gauss-SeidelSOR。想深入挖一挖?这篇Jacobi 和 Gauss-Seidel 方法求解线性方程组的迭代算法的文章你可以顺带看看,写得也还不错。

,如果你在做 Matlab 数值计算,或者搞稀疏矩阵求解,这个jacobi函数还蛮值得收藏一下的。想快速上手数值迭代方法,从它开始挺合适。