坐标轮换法(麦华锋 东莞理工)

坐标轮换法(麦华锋 东莞理工)

ID:38749180

大小:32.50 KB

页数:4页

时间:2019-06-18

坐标轮换法(麦华锋 东莞理工)_第1页
坐标轮换法(麦华锋 东莞理工)_第2页
坐标轮换法(麦华锋 东莞理工)_第3页
坐标轮换法(麦华锋 东莞理工)_第4页
资源描述:

《坐标轮换法(麦华锋 东莞理工)》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、#include#include#includeintmain(void){doublef(doublex1,doublex2);doublefun(doublex,doublea0,doubleh0,double*a,double*b,intN);doublefun2(doublex,doublea,doubleb,intN);doubleh0=1,p,a,b,y,x1[2]={0},x2[2]={0};inti=0;printf("input:x2[1],x2[2]:");scanf("%f%f",&x2[1],x1[2]);d

2、o{x1[1]=x2[1];x1[2]=x2[2];fun(x1[1],x1[2],h0,&a,&b,1);x2[2]=fun2(x1[1],a,b,1);fun(x2[2],x1[1],h0,&a,&b,2);x2[1]=fun2(x2[2],a,b,2);i=i+1;printf("(%d)[%f,%f]",i,x2[1],x2[2]);p=sqrt((x2[1]-x1[1])*(x2[1]-x1[1])+(x2[2]-x1[2])*(x2[2]-x1[2]));printf("p=%f",p);}while(sqrt((x2[1]-x1[1])*(x2[1]-x1[1])+(x2

3、[2]-x1[2])*(x2[2]-x1[2]))<=0.0001);y=f(x2[1],x2[2]);printf("x=[%f,%f],f(x)=%f",x2[1],x2[2],y);system("pause");return0;}doublef(doublex1,doublex2){doubley;y=2*x1*x1+3.1*x2*x2+2*x1*x2-2*x1+6*x2-1;returny;}voidfun(doublex,doublea0,doubleh0,double*a,double*b,intN){doubley1,y2,y3,a2,a1,a3,h;a1=a0

4、;h=h0;switch(N){case1:y1=f(x,a1);a2=a1+h;y2=f(x,a2);break;case2:y1=f(a1,x);a2=a1+h;y2=f(a2,x);break;}if(y2>y1){h=-h;a3=a1;y3=y1;a1=a2;y1=y2;a2=a3;y2=y3;}a3=a2+h;switch(N){case1:y3=f(x,a3);break;case2:y1=f(a3,x);break;}if(y3

5、lse{*a=a1;*b=a3;}printf("N=%da=%fb=%f",N,a,b);}}doublefun2(doublex,doublea,doubleb,intN){doublea1,a2,y1,y2,result;a1=a+0.382*(b-a);a2=a+0.618*(b-a);switch(N){case1:y1=f(x,a1);y2=f(x,a2);break;case2:y1=f(a1,x);y2=f(a2,x);break;}while(fabs(b-a)>0.0001){if(y1>=y2){a=a1;a1=a2;y1=y2;a2=a+0.618*(b-a);

6、switch(N){case1:y2=f(x,a2);break;case2:y2=f(a2,x);break;}}else{b=a2;a2=a1;y2=y1;a1=a+0.382*(b-a);switch(N){case1:y1=f(x,a1);break;case2:y1=f(a1,x);break;}}return0;}

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

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

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