ImageVerifierCode 换一换
格式:DOCX , 页数:13 ,大小:351.17KB ,
资源ID:4794262      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/4794262.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(最速下降法和牛顿法求最小值点的算法及结果.docx)为本站会员(b****4)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

最速下降法和牛顿法求最小值点的算法及结果.docx

1、最速下降法和牛顿法求最小值点的算法及结果最速下降法和牛顿法求最小值点的算法及结果(总11页)1.最速下降法计算:f=(x-1) +5(x-5)(1)程序代码如下:#include#includedouble f1(double x,double y) double r; r=(pow(x-1,2)+5*pow(y-5),2); return r;/最速下降法求最优解void main() double h=3,x0=3,x1,y0=6,y1,s,r0,r1; double e0=,e1=; int k=0; s=sqrt(pow(2*x0-2,2)+pow(10*y0-50,2); print

2、f(%d x1=%f x2=%f s=%fn,k,x0,y0,s); while(se1) x1=x0; y1=y0; r0=f1(x0,y0); h=3; /一维搜索,成功失败法 while(fabs(h)e0) r1=f1(x1-h*2*(x1-1),(y1-h*10*(y1-5); if(r1e0) h=(-1)*h/4; s=sqrt(pow(2*x0-2,2)+pow(10*y0-50,2); k+; printf(%d x1=%f x2=%f s=%fn,k,x0,y0,s); printf(x1=%f x2=%f,x0,y0);(2)初始值设为x1=3,x2=6时,运行结果如下图

3、1-1:图1-1(3)初始值设为x1=30000,x2=60000时,运行结果如下图1-2:图1-22.牛顿法计算:f=(x-1) +5(x-5)(1)程序代码如下:#include#includedouble f1(double x,double y) return (pow(x-1,2)+5*pow(y-5,2);/牛顿法求最优解void main() double h=3,x0=3,x1,y0=6,y1,s,r0,r1; double e0=,e1=; int k=0; s=sqrt(pow(2*x0-2,2)+pow(10*y0-50,2); printf(%d x=%f y=%f s

4、=%fn,k,x0,y0,s); while(se1) x1=x0; y1=y0; r0=f1(x0,y0); h=3; /一维搜索 while(fabs(h)e0) r1=f1(x1-h*(x1-1),(y1-h*(y1-5); if(r1e0) h=(-1)*h/4; s=sqrt(pow(2*x0-2,2)+pow(10*y0-50,2); k+; printf(%d x=%f y=%f s=%fn,k,x0,y0,s); printf(x=%f y=%f,x0,y0);(2)初始值设为x1=3,x2=6时,运行结果如下图2-1:图2-1(3)初始值设为x1=30000,x2=60000

5、时,运行结果如下图2-2:图2-23.最速下降法求:f=(x-1) +(x-1)+5(x-5)+5(x-5)(1)程序代码如下:#include#includedouble f1(double x,double x1,double y,double y1) double r; r=(pow(x-1,2)+pow(x1-1,2)+5*pow(y-5,2)+5*pow(y1-5,2); return r;/最速下降法求最优解void main() /x1,x2,x3,x4分别为多项式函数中四个分量的初始值 /x5,x6,x7,x8分别为对应的下一个值 double d=3,x1=3,x5,x2=4

6、,x6,x3=8,x7,x4=6,x8,s,r0,r1; double e0=,e1=; int k=0; s=sqrt(pow(2*x1-2,2)+pow(2*x2-2,2)+pow(10*x3-50,2)+pow(10*x4-50,2); printf(%d x1=%f x2=%f x3=%f x4=%f s=%fn,k,x1,x2,x3,x4,s); while(se1) x5=x1; x6=x2; x7=x3; x8=x4; r0=f1(x1,x2,x3,x4); d=3; /一维搜索 while(fabs(d)e0) r1=f1(x5-d*2*(x5-1),(x6-d*2*(x6-1

7、),(x7-d*10*(x7-5),(x8-d*10*(x8-5); if(r1e0) d=(-1)*d/4; s=sqrt(pow(2*x1-2,2)+pow(2*x2-2,2)+pow(10*x3-50,2)+pow(10*x4-50,2); k+; printf(%d x1=%f x2=%f x3=%f x4=%f s=%fn,k,x1,x2,x3,x4,s); printf(nx1=%f x2=%f x3=%f x4=%f s=%fn,x1,x2,x3,x4,s);(2)初始值设为x1=3,x2=4,x3=8,x4=6时,运行结果如下图3-1:图3-1(3)初始值设为x1=30000,

8、x2=40000,x3=80000,x4=60000时,运行结果如下图3-2:图3-24.牛顿法计算:f=(x-1) +(x-1)+5(x-5)+5(x-5)(1)程序代码如下:#include#includedouble f1(double x,double x1,double y,double y1) double r; r=(pow(x-1,2)+pow(x1-1,2)+5*pow(y-5,2)+5*pow(y1-5,2); return r;/最速下降法求最优解void main() /x1,x2,x3,x4分别为多项式函数中四个分量的当前值 /x5,x6,x7,x8分别为多项式函数中

9、四个分量对应的下一个值 double d=3,x1=3,x5,x2=4,x6,x3=8,x7,x4=6,x8,s,r0,r1; double e0=,e1=; int k=0; s=sqrt(pow(2*x1-2,2)+pow(2*x2-2,2)+pow(10*x3-50,2)+pow(10*x4-50,2); printf(%d x1=%f x2=%f x3=%f x4=%f s=%fn,k,x1,x2,x3,x4,s); while(se1) x5=x1; x6=x2; x7=x3; x8=x4; r0=f1(x1,x2,x3,x4); d=3; /一维搜索 while(fabs(d)e0

10、) r1=f1(x5-d*(x5-1),(x6-d*(x6-1),(x7-d*(x7-5),(x8-d*(x8-5); if(r1e0) d=(-1)*d/4; s=sqrt(pow(2*x1-2,2)+pow(2*x2-2,2)+pow(10*x3-50,2)+pow(10*x4-50,2); k+; printf(%d x1=%f x2=%f x3=%f x4=%f s=%fn,k,x1,x2,x3,x4,s); printf(nx1=%f x2=%f x3=%f x4=%f s=%fn,x1,x2,x3,x4,s);(2)初始值设为x1=3,x2=4,x3=8,x4=6时,运行结果如下图

11、4-1:图4-1(3)初始值设为x1=30000,x2=40000,x3=80000,x4=60000时,运行结果如下图4-2:图4-25.总结(1)每一种计算最优解的方法中,如果初始值不一样,那么得到最终结果所需的步骤数不一样;比较图1-1与图1-2,在图1-1中初始值为x1=3,x2=6,得到最终结果所需步骤数为23,而在图1-2中初始值为x1=30000,x2=60000,得到最终结果所需步骤数为39;同一算法中取值越偏离最优解,所需的计算步骤越多。标题2、3、4下的每前两个图都说明了这一点。(2)分别用最速下降法和牛顿法求同一多项式值,初始值都一样的情况下,牛顿法收敛速度较快;图1-2中用最速下降法计算,得到结果共计算了39步,经过一步迭代运算,x1从30000收敛到,再经过一步收敛到,图2-2中用牛顿法计算才用了20步,经过一步x1从30000收敛到了,再经过一步收敛到了。(3)从图3-2和图4-2中可以看出最速下降法和牛顿法计算最小值,前面步骤收敛较快,每经过一步,x值的变化都比较大,后面步骤收敛慢,每经过一步,x值的变化比较小。

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1