C语言编程鲍威尔算法,鲍威尔法编程-powell法编程-c语言编程-c++6.0.doc

253b171540df25e1b84436cbe50dfc72.gif鲍威尔法编程-powell法编程-c语言编程-c++6.0.doc

include stdio.hdefine N 2float gsfloat zNfloat f;f10*z0z1-5*z0z1-5z0-z1*z0-z1;f44.5*z0-4*z1z0*z02*z1*z1-2*z0*z1z0*z0*z0*z0-2*z0*z0*z1;f1.5*z0*z00.5*z1*z1-z0*z1-2*z0;returnf;float ywyhfloat xN,float t,float sN,float zNfloat q0.618,e,AN,f2,a,b,c0.1,d0.1;int i,j0;a0;bt;f0gsx;fori0;iN;izixib*si;f1gsz;iff1f0dot2*t;bbt;f0f1; fori0;iN;i zixib*si; f1gsz; iff0f1 ab-t; else break;whilef0f1;elset0-t;doaat;f1f0; fori0;iN;i zixia*si; f0gsz;iff1f0ba-t;t2*t;else break;whilef1f0;dojj1;A0b-q*b-a;fori0;iN;izixiA0*si;f0gsz;A1aq*b-a;fori0;iN;izixiA1*si;f1gsz;doiff0f1aA0;A0A1;f0f1; A1aq*b-a; fori0;iN;i zixiA1*si;f1gsz;jj1;ifj50 break;elsebA1;A1A0;f1f0;A0b-q*b-a; fori0;iN;i zixiA0*si;f0gsz;jj1;ifj50 break;iff1-f0/f10ef1-f0/f1;elsee0-f1-f0/f1;whileec;ifA1-A0/A00eA1-A0/A0;elsee0-A1-A0/A0;ifedbreak;elseaA0;bA1;ifA1-A0/A00eA1-A0/A0;elsee0-A1-A0/A0;whileed;iff0f1fori0;iN;izixiA0*si;returnf0;elsefori0;iN;izixiA1*si;returnf1;void mainfloat xoN,ssNN,zN,c,d,t,fmin,xoooN, xooN,fiN,sN,xN,xeN,fN,fio,dm,dml,df,dx,dxl;int i,j,k,ks,m;fori0;iN;iprintf请输入初始点xd,i;scanff,printf请输入迭代精度Ef,Ex;scanff,f,printf请输入步长T;scanff,k0;ks0;fori0;iN;ixoooixoi;fori0;iN;iforj0;jN;jifij ssij1; else ssij0;dofori0;iN;ixooixoooi;kk1;fori0;iN;i forj0;jN;j sjssij;fminywyhxooo,t,s,z;forj0;jN;jxjzj;fiifmin;forj0;jN;jxooojxj;fori0;iN;isixi-xooi;xei2*xi-xooi;f0gsxoo;f1fmin;f2gsxe;fiof0;dmfio-fi0;m0;fori0;iN-1;idmlfii-fii1;ifdmdmldmdml;mi1;else ;iff0f2-2*f1*f0-f1-dm*f0-f1-dm0.5*dm*f0-f2*f0-f2f2f0fminywyhxooo,t,s,z;f1fmin;forj0;jN;jxjzj;fori0;iN-1;i ifimforj0;jN;j ssijssij;elseforj0;jN;j ssijssi1j;fori0;iN;issN-1isi;ksks1;elseiffminf2fori0;iN;ixixei;f1f2;fminf2;else ;fori0;iN;ixoooixi;iff0-f1/f10 dff0-f1/f1;elsedf0-f0-f1/f1;ifxoo0-x00dxxoo0-x0;elsedxx0-xoo0;fori1;iN;iifxooi-xi0 dxlxooi-xi; else dxlxi-xooi;ifdxdxldxdxl;else ;whiledxcdfd;fori0;iN;izixi; fori0;iN;i printfn最优点坐标xifn,i,zi; printfn最优函数值fxfn,fmin;printfn搜索累计次数kdn,k;printfn替换方向累计次数ksdn,ks;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值