matlab数值分析程序--高等数学,数值代数的matlab实现-文字版, matlab电子书, 和matlab 有关的电子书:

2.9 求解非线性方程组的牛顿法及其MATLAB程序

牛顿法是一个求解非线性方程组的迭代方法. 给定一个包含n个变量\mathbf{x}=[x_1,x_2,\cdots,x_n]^T的非线性方程组

math

其中\mathbf{F}(\mathbf{x})为关于\mathbf{x}的向量值函数.

假设现在已经得到了关于方程\mathbf{F}}({\mathbf{x}})=0的一个近似解\mathbf{x_k}, 将函数\mathbf{F}}({\mathbf{x}})在点\mathbf{x_k}附近展开, 可以得到如下展开式

math

其中\mathbf{F}'为函数\mathbf{F}的雅可比矩阵, o为无穷小量符号.

令上式中的\mathbf{F}}({\mathbf{x}})=0, 则可以得到\mathbf{x}的下一个迭代点

math

利用牛顿法求解非线性方程组的步骤如下

  1. 给定方程解的初始值\mathbf{x}_0, 令k=0
  2. 计算函数\mathbf{F}(\mathbf{x})在点\mathbf{x}_k的函数值\mathbf{F}(\mathbf{x}_k)和雅可比矩阵\mathbf{F}'(\mathbf{x}_k)
  3. 根据迭代公式{{\mathbf{x}}_{k + 1}} = {{\mathbf{x}}_k} - {\mathbf{F}}{'^{ - 1}}({\mathbf{x}_k}){\mathbf{F}}({{\mathbf{x}}_k})计算方程的下一个解\mathbf{x}_{k+1}
  4. |\mathbf{X}_{k+1}-\mathbf{X}_k|<\varepsilon_1或者|\mathbf{F}(\mathbf{x}_{k+1})|<\varepsilon_2时, 返回方程组的解\mathbf{x}=\mathbf{x}_{k+1}\varepsilon_1\varepsilon_2设定的误差
欢迎转载,转载请注明来自一手册:http://yishouce.com/book/3/3020900.html
友情链接It题库(ittiku.com)| 版权归yishouce.com所有| 友链等可联系 admin#yishouce.com|粤ICP备16001685号-1