欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    阻尼牛顿法(共5页).docx

    • 资源ID:14324368       资源大小:132.81KB        全文页数:5页
    • 资源格式: DOCX        下载积分:20金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要20金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    阻尼牛顿法(共5页).docx

    精选优质文档-倾情为你奉上阻尼牛顿法求解二维函数极小值的程序说明一 题目利用阻尼牛顿法求函数的极小值点(迭代两次,一维搜索任选一种方法)。二 阻尼牛顿法基本思想:1) 给定初始点,收敛精度,置。2) 计算、 、和3) 求,其中为沿进行一维搜索的最佳步长。4) 检查收敛精度。若,则,停机;否则置,返回步骤2,继续进行进行搜索。改进后的阻尼牛顿法程序框图如下:三 用阻尼牛顿法求函数程序如下:/ 阻尼牛顿法 .cpp : Defines the entry point for the console application./#include<stdio.h>#include<math.h>#include<conio.h>#include <iostream>double fun1(double q1,double q2)return(pow(q1-2),4)+pow(q1-2*q2),2); /修改函数f(x1,x2)=(x1-2)*(x1-2)*(x1-2)*(x1-2)+(x1-2*x2)*(x1-2*x2)double fun2(double g,double x,double y,double r1,double r2) return (pow(x+g*y-2),4)+pow(x+g*y-2*(r1+g*r2),2);/关于阻尼因子的函数void main() double A21,B22,C21,D21,X21; double E21=4,3;/迭代的初始点x0 int t=0,i=0,j=0; double E0,x1,x2,x3,h(0.1); double y1,y2,y3,m; double a,b,k=0.618,a1,a2,f1,f2; printf("输入收敛精度:");/输入标准收敛精度 std:cin>>E0; do D00=E00; D10=E10; A00=4*(D00-2)*(D00-2)*(D00-2)+2*D00-4*D10; A10=-4*(D00-2*D10);/A00,A10为原函数梯度的各项 B00=1.0/(12.0*(D00-2)*(D00-2); B01=1.0/(24.0*(D00-2)*(D00-2); B10=1.0/(24.0*(D00-2)*(D00-2); B11=(6.0*(D00-2)*(D00-2)+1)/(48.0*(D00-2)*(D00-2);/B00,B01,B10,B11分别代表原函数的海赛矩阵的逆阵的各项 C00=-(B00*A00+B01*A10); C10=-(B10*A00+B11*A10);/C00,C10为搜索方向dk的各项 /下面利用外推法寻找函数2的区间,找单谷区间 x1=0; x2=x1+h; y1=fun2(x1,D00,C00,D10,C10); y2=fun2(x2,D00,C00,D10,C10); if(y2>y1) h=-h; x3=x1,y3=y1; x1=x2,y1=y2; x2=x3,y2=y3; x3=x2+h; y3=fun2(x3,D00,C00,D10,C10); while(y3<y2) h=2*h; x1=x2,y1=y2; x2=x3,y2=y3; x3=x2+h; y3=fun2(x3,D00,C00,D10,C10); i+; /下面利用黄金分割法寻找函数2极值 a=x1; b=x3; a1=b-k*(b-a); a2=a+k*(b-a); f1=fun2(a1,D00,C00,D10,C10); f2=fun2(a2,D00,C00,D10,C10); do if(f1>=f2) a=a1; a1=a2; f1=f2; a2=a+k*(b-a); f2=fun2(a2,D00,C00,D10,C10); else b=a2; a2=a1; f2=f1; a1=b-k*(b-a); f1=fun2(a1,D00,C00,D10,C10); j+; while(fabs(b-a)/b)>=E0&&fabs(f2-f1)/f2)>=E0); m=0.5*(a+b);/m为阻尼因子 E00=D00+m*C00; E10=D10+m*C10; printf("%d%15f10%15f10n",t,E00,E10,fun1(E00,E10); t+; while(fabs(E00-D00)>=E0&&fabs(E10-D10)>=E0); X00=E00; X10=E10; printf("迭代了%d次n",t); printf("极小点(x1,x2)=(%f10,%f10)n",X00,X10); printf("极小值f(x1,x2)=%f10n",fun1(X00,X10);程序运行结果:四 结论由该程序的运行结果可知,要求迭代两次后函数的极小值点在(2.,1.)处,经验证,运算结果完全正确。验证了该程序的可行性。专心-专注-专业

    注意事项

    本文(阻尼牛顿法(共5页).docx)为本站会员(飞****2)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开