惩罚函数法C语言相关程序.doc

上传人:数据九部 文档编号:10188991 上传时间:2021-04-27 格式:DOC 页数:3 大小:17KB
返回 下载 相关 举报
惩罚函数法C语言相关程序.doc_第1页
第1页 / 共3页
惩罚函数法C语言相关程序.doc_第2页
第2页 / 共3页
惩罚函数法C语言相关程序.doc_第3页
第3页 / 共3页
亲,该文档总共3页,全部预览完了,如果喜欢就下载吧!
资源描述

《惩罚函数法C语言相关程序.doc》由会员分享,可在线阅读,更多相关《惩罚函数法C语言相关程序.doc(3页珍藏版)》请在三一文库上搜索。

1、惩罚函数法C语言相关程序#include#includefloat d,y,y0,y1,y2,y3,r=1,c=0.1;float x12, x22, x32,s2,a2,b2;int i,n=2; float f(float x,float r)float z; z=x0*x0+x1*x1-r/(x0-1); return z;waitui()float h0=0.03,h=h0; y1=f(x1,r); for(i=0;in;i+) si=si*h; for(i=0;iy1) for(i=0;in;i+) si=-si; for(i=0;in;i+) x3i=x1i;y3=y1; for(

2、i=0;in;i+) x1i=x2i;y1=y2; for(i=0;in;i+) x2i=x3i;y2=y3;for(i=0;in;i+) x3i=x2i+si;y3=f(x3,r);while(y3y2)for(i=0;in;i+) si=si*2;for(i=0;in;i+) x1i=x2i; y1=y2;for(i=0;in;i+) x2i=x3i;for(i=0;in;i+) x2i=x3i;for(i=0;in;i+) x3i=x2i+si;y3=f(x3,r);for(i=0;in;i+)ai=x1i;bi=x3i;huangjin()d=0.618;waitui();c=0.2;

3、for(i=0;i=y2)for(i=0;in;i+) ai=x1i;for(i=0;in;i+) x1i=x2i;y1=y2;for(i=0;in;i+) x2i=ai+d*(bi-ai);y2=f(x2,r);elsefor(i=0;in;i+) bi=x2i;for(i=0;in;i+) x2i=x1i; y2=y1;for(i=0;i=c)if(y1=y2)for(i=0;in;i+) ai=x1i;for(i=0;in;i+) x1i=x2i;y1=y2;for(i=0;in;i+) x2i=ai+d*(bi-ai);y2=f(x2,r);elsefor(i=0;in;i+) bi=

4、x2i;for(i=0;in;i+) x2i=x1i; y2=y1;for(i=0;in;i+) x1i=bi-d*(bi-ai);y2=f(x2,r);for(i=0;in;i+) x1i=0.5*(ai+bi);main( )float x02,e=0.03,f=0.01,sum;x00=3;x01=3;s0=0;s1=1;y0=x00*x00+x01*x01 ;doif(s11)s0=1;s1=0;elses0=0;s1=1;for(i=0;in;i+)x1i=x0i;huangjin();sum=0;for(i=0;in;i+)sum+=(x1i-x0i)*(x1i-x0i);if(sqrt(sum)e&abs(y1-y0)/y0f)break;for(i=0;in;i+)x0i=x1i;r=r*c;y0=x00*x00+x01*x01-r/(x00-1)*c);while(1);printf(the best result:n);for( i=0;in;i+)printf(x(%d)=%f,i+1,x1i);y=x10*x10+x11*x11-r/(x10-1);printf(ny*=%fn,y);getch();

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 科普知识


经营许可证编号:宁ICP备18001539号-1