鲍威尔法编程-powell法编程-c语言编程-c++6.0.doc
(6页)
本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找使用更方便哦!
9.90 积分
#include #define N 2float gs(float z[N]){ float f; //f=10*(z[0]+z[1]-5)*(z[0]+z[1]-5)+(z[0]-z[1])*(z[0]-z[1]); f=4+4.5*z[0]-4*z[1]+z[0]*z[0]+2*z[1]*z[1]-2*z[0]*z[1]+z[0]*z[0]*z[0]*z[0]-2*z[0]*z[0]*z[1]; //f=1.5*z[0]*z[0]+0.5*z[1]*z[1]-z[0]*z[1]-2*z[0]; return(f);}float ywyh(float x[N],float t,float s[N],float z[N]){ float q=0.618,e,A[N],f[2],a,b,c=0.1,d=0.1; int i,j=0; a=0;b=t; f[0]=gs(x); for(i=0;if[1]); } else { t=0-t; do {a=a+t;f[1]=f[0]; for(i=0;if[0]) { b=a-t;t=2*t; } else break;} while(f[1]>f[0]); } do { j=j+1; A[0]=b-q*(b-a); for(i=0;i0) e=(f[1]-f[0])/f[1]; else e=0-(f[1]-f[0])/f[1]; }while(e>c); if((A[1]-A[0])/A[0]>0) e=(A[1]-A[0])/A[0]; else e=0-(A[1]-A[0])/A[0]; if(e0) e=(A[1]-A[0])/A[0]; else e=0-(A[1]-A[0])/A[0]; }while(e>d); if(f[0]0) dx=xoo[0]-x[0]; else dx=x[0]-xoo[0]; for(i=1;i0) dxl=xoo[i]-x[i]; else dxl=x[i]-xoo[i]; if(dxc||df>d); for(i=0;i
天天文库所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
关于本文
本文标题:鲍威尔法编程-powell法编程-c语言编程-c++6.0.doc
链接地址: https://www.wenku365.com/p-53117892.html