您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 综合/其它 > 牛顿法解非线性方程组
一、求根方法原理把非线性函数f(x)=0在x0处展开成泰勒级数取其线性部分,作为非线性方程的近似方程,则有,设,则其解为,再把f(x)在x1处展开为泰勒级数,取其线性部分为的近似方程,若,则得,如此继续下去,得到牛顿法的迭代公式:,通过迭代,这个式子必然在的时候收敛。整个过程如下图:牛顿法收敛很快,而且可求复根,缺点是对重根收敛较慢,要求函数的一阶导数存在。二、求解步骤1.选取一个接近函数零点的自变量x值作为起始点。2.使用如下的迭代公式更新近似解。3.如果得出的解满足误差要求,终止迭代,所得的值即视为方根根的近似解。三、自定的非线性方程使用牛顿迭代法近似求解如下方程在[-1,1]之间的根:四、源程序代码clear,closeallclcf=@(x)cos(x)-x.^3;f_prime=@(x)-sin(x)-3*x.^2;error=1;%初始化误差变量iter=0;%初始化迭代次数变量max_iter=5000;%定义最大允许迭代次数tol=1e-8;%定义循环终止误差x0=0.5;%初始值whileerrortol&&iter=max_iterx=x0-f(x0)/f_prime(x0);%更新x的值error=abs((x-x0)/x0);%计算相对误差iter=iter+1;%更新迭代次数x0=x;%计算出的x赋值给x0,继续迭代,直到达到误差条件。end五、上机运行结果截图六、结论1.迭代法是求解非线性方程组的一种很好的方法,它可以反复校验根的近似值,直到得出符合精度的解。从几何角度上来解释可以解释为两个函数的无限逼近2.我们为了加快迭代的速度,引入了牛顿法,牛顿法的收敛速度很快,但是其收敛性取决于牛顿法的取值。
本文标题:牛顿法解非线性方程组
链接地址:https://www.777doc.com/doc-5291330 .html