c语言黄金分割法求最小值,黄金分割法求极值(c编程)

《黄金分割法求极值(c编程)》由会员分享,可在线阅读,更多相关《黄金分割法求极值(c编程)(3页珍藏版)》请在人人文库网上搜索。

1、流程图:b=a+i*h; i+f(a),f(b)输入a,h;i=1,s,wf(a)f(b)x1=a+(1-w)(b-a);x2=a+w(b-a);x0=(a+b)/2min=f(x0)X1=X1;X2=a+(1-w)(b-a)a=x1|b-a|#include double f(double x)double y;y=(3.0*x*x-4.0)*x*x+2.0;return(y);void main()double a,b,x1,x2,w,s,min,x0;int i=1;double h;w=(sqrt(5)-1)/2;s=1e-5;printf(input a,h:n);scanf(%lf。

2、,%lf,&a,&h);do /*确定初始区域a,b*/b=a+i*h;i+;printf(i=%d,b=%lfn,i,b);while (f(a)f(b);x1=a+(1-w)*(b-a);x2=a+w*(b-a);printf(%lf,%lfn,a,b);loop:if(f(x1)s)x2=x1;x1=a+(1-w)*(b-a);printf(x1=%lf,x2=%lfn,x1,x2);goto loop;else f(a+b)/2);else a=x1;if(fabs(b-a)s)x1=x2;x2=a+w*(b-a);printf(x1=%lf,x2=%lfn,x1,x2);goto loop;else f(a+b)/2);x0=(a+b)/2;min=f(x0);printf(x0=%lf,min=%lfn,(a+b)/2,f(a+b)/2);运算结果。

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值