共轭梯度法程序源代码_第1页
共轭梯度法程序源代码_第2页
共轭梯度法程序源代码_第3页
共轭梯度法程序源代码_第4页
共轭梯度法程序源代码_第5页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、共扼梯度法程序源代码#include#iiiclude#define N 10#define eps pow( 10.-6)double f(double x,double p,double t)double s;s=pow(x0+t*p 0 ,2)+2 5 *pow(x 1 +t*p 1 ,2);leturn s;/*以下是进退法搜索区间源程序*/void sb(double *a,double *b.double x,double p)double tO,tl,t,h,alpha,ft),fl;mt k=0;t0=2.5;/* 初始值 */h=l;/*初始步长*/alpha=2;/*加步系

2、数*/fO=f(x,ptO);tl=tO+h;fl=f(x,p,tl);wlule(l)(h=alpha*h; t=tO;tO=tl;fO=f 1;k+;)else(if(k=0)h=-h;t=tl;elsebreak;)tl=tO+h;fl=Rx,p,tl);/*以下是黄金分割法程序源代码可double lijfg(double x.double p)double beta,tl,t2,t;doubledouble a=0,b=0;double *c,*d;c=&a,d=&b;sb(c,d,x,p);/*调用进退法搜索区间*/pnntf(”nxl=%lf.x2=%lf.pl=%lf,p2=%

3、lT,x0,xl,p0,pl);printf(na,b=%lf,%lf”,a,b);beta=(sqrt(5)-l .0)/2;t2=a+beta*(b-a); f2=f(x.p,t2);tl =a+b-t2;fl =Rx,p,t 1);wlule(l)if(fabs(tl-t2)eps)break;elset=(tl+t2)/2;b=t2; t2=tl;f2=fl; tl=a+b-t2;elsea=tl; tl=t2;fl =2t2=a+beta*(b-a);f2=f(x,p、t2);)t=(tl+t2)/2;return t;/*以卜是共粒梯度法程序源代码*/void gtd() doub

4、le xN.gN.pNj=0.fD,modl=0,mod2=0aianda=0; mt i,k.n;pnntf(”请输入函数的元数值n=);scanf(”d”,&n);pnntf(”n请输入初始值:n”);foi(i=O;ieps)pO=-gO;pl=-gl;k=O;while(l)(t=hjfg(x,p);/*调用黄金分割法求t的值*/pnntfCnpl=%lf;p2=%lft=%lfp0,pl,t);xO=xO+t*pO; xl=xl+t*pl;g0=2*x0;gl=5O*xl;/*printfl,uxl=%lf,x2=%lf,gl=%lf,g2=%lf,x0,xl,g0,gl);*/mo

5、d2=sqit(pow(g 0 ,2 )+pow(gl,2); /* 求梯度的长度 */if(mod2=eps) break;else(if(k+l=n)(g0=2*x0; gl=50*xl;pO=-gO;pl=-gl;k=O;else(nanda=pow(mod2,2)/pow(mod 1,2);piiiitfi(n,iinanda=%lmod=%lfnandajiiod2);pO=-gO+nanda*pO;Pl=-gl+nanda*pl;modl=mod2;k+;i)pnntfCn”);)printfCNn 最优解为 x 1=%lf x2=%lf x0,x 1 );pnntf(n 最终的函

6、数值为lf,,f(x,g,t);main()gtd();运行结果如下:请输入函数的元数值n=2请输入初始值:22xl=2.000000,x2=2.000000.pI=4000000,p2=100.000000a,b=-4.500000,1.500000pl=4000000,p2=100.000000.t=0.020030nanda=0.001474jnod=3.842730 xl=L919879,x2=-0.003022,pl=3.845655,p2=0.003665a,b=-4.500000,1.500000pl=3.845655,p2=0.003665,t=0.499240 xl=0.000026,x2=-0.001192,pl=0.000052,p2=0.059610a,b=-4.500000,1.500000pl=0.000052,p2=0.059610.t=0.020000nanda=0.000000jnod=0.000050 xl=0.000025,x2=-0.000000.pl=0.000050,p2=0.000001a,b=-4.500000,1.500000pl=0.000050,p2=0.000001.t=0.495505 xl=0.000000,x2=0.000000,pl=0.000000,p2=-0.000023a,b=-4.500000,1.

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论