非线性方程数值解非线性方程数值解非线性方程——就是因变量与自变量之间的关系不是线性的关系,这类方程很多,例如平方关系、对数关系、指数关系、三角函数关系等等
求解此类方程往往很难得到精确解,经常需要求近似解问题
解决此问题的最主要的两种方法是——迭代法和二分法
1、定义迭代法——逐次逼近的方法,在工程技术上也叫做试算法
从隔根区间(a0,b0)中的任一个初始近似值x0出发,按照某种格式构造一个序列x0,x1,x2,……使得这个序列的极限就是f(x)=0的跟x*,即另一种方法是把方程f(x)=0写成等价形式x=φ(x),然后令xk+1=φ(xk)k=0,1,2,……迭代法迭代法lim*,(*)0kkxxfx2、算法核心参数说明:x0——开始存放初始值,迭代中存放第k次近似值(实型变量,输入参数);x——迭代中存放第k+1次近似值,最终存放方程的跟(实型变量,输出参数);eps——根的精度控制量(实型变量,输出参数)
时,认为xk+1是方程的跟
1kkxx3、迭代法的收敛性如果从初值x0出发,按照迭代公式进行迭代计算的过程中,xk逐次接近于方程的跟,则称迭代公式是收敛的,否则是发散的
迭代法可行的必要条件是迭代过程必须收敛,收敛越快,则其收敛性越好
判别条件——迭代函数的一阶导数在其定义区间[a,b]内的绝对值小于1,迭代过程收敛,否则,则发散
加速迭代过程的3个因素:(1)选择的迭代初值应尽量接近于方程的根;(2)迭代函数一阶导数在迭代区间的绝对值越小,收敛速度越快;(3)所求解方程的原函数f(x)的泰勒展开式中的二阶及二阶以上的高阶导数的值尽可能小,以致可以略去不计时,收敛速度越快
迭代法缺点——一是存在迭代过程不收敛的可能性,这将无法求解;二是存在收敛速度极缓慢的问题,这将导致大大降低效率甚至难于计算
1、定义二