🥥MATLAB和Python数值计算
MATLAB | Python | 数值计算 | Matplotlib | NumPy | scipy | Sympy
使用直接方法求解线性系统 | 解线性系统方法 | 矩阵分解技术
迭代和最小二乘法解线性系统
迭代方法
雅可比法
给定方程的线性系统:
从上面的等式可以得出:
雅可比法是一种迭代方法,它从对解的初始猜测开始。 然后,使用迭代中的解来找到迭代中系统解的近似值。 完成如下:
通常,迭代中的解可以表示为:
对于任意时,雅可比迭代停止。
**示例1,**为线性系统编写雅可比方法的前三个迭代:
$$ \left( \begin{matrix} 2& -1& 1\\ -2& 5& -1\\ 1& -2& 4\\\end{matrix} \right) \left( \begin{array}{c} \boldsymbol{x}_1\\ \boldsymbol{x}_2\\ \boldsymbol{x}_3\\\end{array} \right) =\left( \begin{array}{c} -1\\ 1\\ 3\\\end{array} \right) $$
从零向量开始
$$ \boldsymbol{x}^{\left( 0 \right)}=\left( \begin{array}{c} 0\\ 0\\ 0\\\end{array} \right) $$
解决
我们写成:
第一次迭代
第二次迭代
第三次迭代
**示例2,**雅可比方法将用于求解线性系统:
$$ \left( \begin{matrix} -5& 1& -2\\ 1& 6& 3\\ 2& -1& -4\\\end{matrix} \right) \left( \begin{array}{c} \boldsymbol{x}_1\\ \boldsymbol{x}_2\\ \boldsymbol{x}_3\\\end{array} \right) =\left( \begin{array}{c} 13\\ 1\\ -1\\\end{array} \right) $$
MATLAB代码
使用Python,功能JacobiSolve具有以下代码:
通过调用函数JacobiSolve求解给定的线性系统,我们获得:
最小二乘解
线性系统解中的病态和正则化技术
解非线性方程组
数据插补
微分和积分
解非线性常微分方程
常微分方程的非标准有限差分法
线性规划和二次规划
非线性规划
最优控制问题
Last updated
Was this helpful?