- 47
- 0
- 约3.72千字
- 约 7页
- 2016-12-09 发布于浙江
- 举报
0043算法笔记——【随机化算法】解非线性方程组
问题描述?求解下面的非线性方程组?其中,x1,x2,…,xn是实变量,fi是未知量x1,x2,…,xn的非线性实函数。要求确定上述方程组在指定求根范围内的一组解。?问题分析?解决这类问题有多种数值方法,如:牛顿法、拟牛顿法、粒子群算法等。最常用的有线性化方法和求函数极小值方法。为了求解所给的非线性方程组,构造一目标函数??式中,x=(x1,x2,……xn)。易知,上式取得极小值点即是所求非线性方程组的一组解。?求解思路 在指定求根区域D内,选定一个随机点x0作为随机搜索的出发点。在算法的搜索过程中,假设第j步随机搜索得到的随机搜索点为xj。在第j+1步,计算出下一步的随机搜索增量dxj。从当前点xj依dxj得到第j+1步的随机搜索点。当x时,取为所求非线性方程组的近似解。否则进行下一步新的随机搜索过程。?题外话:笔者在读王晓东《算法设计与分析》中这一节时,发现书上所给的代码似乎有些问题。在这里指出,如果提得不对,还请大侠们拍砖。书中给出的代码具体如下:[cpp]?/liufeng_king/article/details/9029091view plain?/liufeng_king/article/details/9029091copybool?nonlinear(double?*x0,double?*dx0,?double?*x,double?a0,???double?epsi
原创力文档

文档评论(0)