致并肩探索星辰大海的伙伴:
新春伊始,愿我们的研究如宇宙大爆炸般迸发无限可能,在时空涟漪中捕捉引力波的轻语,借黑洞视界照亮未知的疆域;愿量子涨落跃迁出灵感的花火,让每一份执着化作Science与Nature的星光,为人类认知拓印新的坐标。
致并肩探索星辰大海的伙伴:
新春伊始,愿我们的研究如宇宙大爆炸般迸发无限可能,在时空涟漪中捕捉引力波的轻语,借黑洞视界照亮未知的疆域;愿量子涨落跃迁出灵感的花火,让每一份执着化作Science与Nature的星光,为人类认知拓印新的坐标。
割线法(Secant Method)是一种数值求解方程的方法,特别是单变量函数的零点求解。它是一种迭代方法,不像二分法那样需要函数在区间两端异号,而是利用函数在两个点上的函数值来迭代逼近零点。以下是割线法数值求解方程的求解步骤:
上次在《牛顿法数值求解二维热传导方程》中使用牛顿法(Newton’s method)数值求解二维热传导方程。本次附上牛顿法和共轭梯度法结合数值求解二维热传导方程的完整代码。
上次在《牛顿法数值求解泊松方程》中使用牛顿法(Newton’s method)数值求解泊松方程。思路是将微分方程离散化成非线性方程组,然后使用牛顿法将非线性方程组简化成求解线性方程组,之后又介绍了《共轭梯度法数值求解线性方程组》。有朋友尝试将两者结合,发现求解出了问题,本次就附上完整代码以证明之前的牛顿法和共轭梯度法都没有任何问题。
上次讲解了《共轭梯度法数值求解线性方程组》,本次讲解一下双共轭梯度法数值求解线性方程组。
上次在《共轭梯度法的推导》讲解了共轭梯度法和梯度下降法的推导,本次用实例看一下它们之间的差异。
上次讲解了《共轭梯度法数值求解线性方程组》,应好友的邀请,本次讲解一下共轭梯度法的推导。
之前在数值求解柏松方程以及热传导方程的讲解中,离散化之后会形成一系列的非线性方程组,然后又讲解了如何使用牛顿法求解该非线性方程组,最终发现问题转化成了形如:
线性方程组的数值求解。之前都是简单的使用 Mathematica 的 FindRoot[]
和 NSolve[]
函数求解,本次利用共轭梯度法数值求解线性方程组。这样一步一步拆解、简化问题是具有启发性的,能够一步一步帮助我们解决问题。
上次在《牛顿法数值求解泊松方程》中讲了使用牛顿法(Newton’s method)数值求解多变量方程,并以一维泊松方程为例进行隐式求解。本次讲解使用牛顿法数值求解多维方程。迭代形式为上次所讲:
上次在《牛顿法数值求解方程》中讲了使用牛顿法(Newton’s method)数值求解单变量方程。这次使用牛顿法数值求解多变量方程,并以泊松方程为例进行隐式求解,参考《隐式法数值求解泊松方程》。该方法极其实用,如此精妙的算法我都舍不得分享😂