共轭梯度法

共轭梯度法

ID:68580687

大小:13.19 KB

页数:4页

时间:2021-10-18

共轭梯度法_第1页
共轭梯度法_第2页
共轭梯度法_第3页
共轭梯度法_第4页
资源描述:

《共轭梯度法》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、#include#include#defineN10#defineepspow(10,-6)doublef(doublex[],doublep[],doublet){doubles;s=pow(x[0]+t*p[0],2)+25*pow(x[1]+t*p[1],2);returns;}/*以下是进退法搜索区间源程序*/voidsb(double*a,double*b,doublex[],doublep[]){doublet0,t1,t,h,alpha,f0,f1;intk=0;t0=2.5;     /*初始值*/h=1;       /

2、*初始步长*/alpha=2;  /*加步系数*/f0=f(x,p,t0);t1=t0+h;f1=f(x,p,t1);while(1){  if(f1t1?t:t1;    break;   }  }  t1=t0+h;  f1=f(x,p,t1);}}/*以下是黄金分割法程序源代码*/doublehjfg(doublex[

3、],doublep[]){doublebeta,t1,t2,t;doublef1,f2;doublea=0,b=0;double*c,*d;c=&a,d=&b;sb(c,d,x,p);/*调用进退法搜索区间*/printf("x1=%lf,x2=%lf,p1=%lf,p2=%lf",x[0],x[1],p[0],p[1]);printf("[a,b]=[%lf,%lf]",a,b);beta=(sqrt(5)-1.0)/2;t2=a+beta*(b-a);f2=f(x,p,t2);t1=a+b-t2;     f1=f(x,p,t1);while(1){  if(

4、fabs(t1-t2)

5、lex[N],g[N],p[N],t=0,f0,mod1=0,mod2=0,nanda=0;inti,k,n;printf("请输入函数的元数值n=");scanf("%d",&n);printf("请输入初始值:");for(i=0;ieps){  p[0]=-g[0];p[1]=-g[1];k=0;  while(1)  {   t

6、=hjfg(x,p);/*调用黄金分割法求t的值*/   printf("p1=%lf,p2=%lf,t=%lf",p[0],p[1],t);      x[0]=x[0]+t*p[0];x[1]=x[1]+t*p[1];   g[0]=2*x[0];      g[1]=50*x[1];        /*printf("x1=%lf,x2=%lf,g1=%lf,g2=%lf",x[0],x[1],g[0],g[1]);*/        mod2=sqrt(pow(g[0],2)+pow(g[1],2));/*求梯度的长度*/               if

7、(mod2<=eps)   break;        else        {        if(k+1==n)        {          g[0]=2*x[0];g[1]=50*x[1];          p[0]=-g[0];p[1]=-g[1];k=0;        }        else        {          nanda=pow(mod2,2)/pow(mod1,2);          printf("nanda=%lf,mod=%lf",nanda,mod2);      

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。