二分法+牛顿下山法
来源:互联网 发布:nginx luajit 安装 编辑:程序博客网 时间:2024/05/01 03:31
最近写了牛顿下山法,就是针对x^3-x-1=0这个函数F(x)=0求根的问题。牛顿下山法的迭代使造出一个迭代函数G(x)=x-(x^3-x-1)/(3*x^2-1),不断迭代过程中,要注意下山条件| F(xk+1) | < | F(xk) |成立。同时根据牛顿迭代公式,设定系数k有xk+1=xk+1-k*F(xk)/F'(xk),在迭代过程中为满足下山条件,而不断去寻找相应的k值使成立。在进行相关的迭代前,我们采用二分法使逼近根值,再作相关的牛顿迭代。通过F'(x)=3*x^2-1,进行相关的分析,我们可以大概得出F(x)的图像如下。
显然,可知我们的二分法该如何进行设置了~下为相应伪代码
const double H =1;//二分法逼近步长const double LIMIT = 0.1;//二分法限定范围const int N = 5;//系数最多计算次数double F(double x)//原函数{return x*x*x-x-1;}double G(double x)//迭代函数{return x-F(x)/(3*x*x-1);}double Dichotomic(double x)//二分法逼近{double a,b,fx;//b为上界,a为下界fx=F(x);if(fx>0){a=x-H;while(F(a)>0)a-=H;//寻求F(a)<0b=x;}else {b=x+H;while(F(b)<0)b-=H;//寻求F(b)>0a=x;}do{x=(a+b)/2;fx=F(x);if(fx*F(a)>0)a=x;else b=x;}while( (b-a)>LIMIT );return x;}void Newton(double x0){//参数设定 …… //二分逼近 ……//迭代循环 { …… //判断是否满足下山条件 { //探测系数值,用二分法,每次减为半步长 …… } }}
- 二分法+牛顿下山法
- 牛顿下山法
- 牛顿下山法
- soledede--牛顿下山法
- 牛顿下山法
- 牛顿下山法
- 牛顿下山法C++实现
- 牛顿法及其下山法+C代码
- 牛顿法及牛顿下山法求零点
- 二分法与牛顿法
- 牛顿迭代、牛顿下山
- 二分法和牛顿法求平方根
- 二分法以及牛顿法开根号
- 牛顿下山法求解非线性方程(组)(C实现)
- 牛顿迭代法 二分法
- 二分法和牛顿迭代法
- 二分法&牛顿拉夫逊法
- c语言二分法切割法牛顿法求根算法
- 复制百度文库内容
- 基于时间轴的视频文件检索
- ldconfig problem
- 彻底清除SQL Server 2000
- window服务自动启动mysql服务
- 二分法+牛顿下山法
- JMS 描述
- 《Linux那些事儿之我是USB》我是U盘(37)迷雾重重的批量传输(六)
- 转载gethostbyname
- linux中在一个shell中调用另外一个shell
- MFC框架各部分指针获取方式
- Unable to code design using identities in this team: no private keys available
- 大白菜U盘启动 V201203
- Android常用布局颜色值大全