黄金分割点c的坐标c语言,黄金分割法与进退法的C语言程序

《黄金分割法与进退法的C语言程序》由会员分享,可在线阅读,更多相关《黄金分割法与进退法的C语言程序(5页珍藏版)》请在人人文库网上搜索。

1、基本思想:对f(x)任选一个初始点al及初始步长h,通过比较这两点函数值的大小,确定第三点位置,比较这三点的函数值大小,确定是否为高一低一高”形态。(1) 选定初始点 a,初始步长h= hO,计算 y1= f(a1),y2= f(a1+ h)。(2) 比较y1和y2。(a) 女口 y1y2,向右前进;加大步长h= 2 h,转(3)向前;(b) 女口 y1y3,加大步长 h= 2 h , a1=a2,a2=a3,转(3)继续探测。(a)如y2vy3,则初始区间得到:a=mina1,a3, b=maxa3,a1,函数最小值所在的区间为a, b。输入初贻自变量和歩长值和hQ叼二西+也/(花)”YNd。

2、+ h - -hr 卩A - STS,*1与為”弘)与咖互换4 + ft巧=阳+为,计算/(xj 口计算/仇M斗* J满足高二上高傲代腕 J, = xirxt = 1计算返回心输入ab,sx1=a +0.382(b -dt) /(jq)= dt + 0.61-(3)/(jv3)y+b -叶心2可=a + 0.382(-a/()a x2 = a + 0.618(-c),=/(x2)x* = 0.5(a +B) f* =/(F) +返回a我编的修改#in clude#in clude#define f(x) 3*x*x*x-4*x+2main () double f1,f2,f3,temp,x1,。

3、x2,x3,h,a,b,Y1,Y2,A,A1,A2,e=0.2; int n;prin tf(x1=);sca nf(%lf, &x1);prin tf(h=);sca nf(%lf,&h);f1=f(x1);x2=x1+h;f2=f(x2);if(f1=f2)a=x1(x1+h)?x1:x1+h;if(f2f1) h=-h;temp=x1; x1=x2; x2=temp;temp=f1; f1=f2; f2=temp;x3=x2+h;f3=f(x3);else if(f2f3) x1=x2;x2=x3;f2=f(x3); x3=x2+h;f3=f(x3);a=x1x3?x1:x3; prin。

4、tf(%f,%fn,a,b); A1=b+0.328*(b-a); Y1=f(A1); A2=a+0.618*(b-a); Y2=f(A2); do n+;if (!(Y1=e|(a-b)double m,n,p,e,a,b;double F(double x)return m*x*x+n*x+p;InputData()/ 数据输入函数的名称要和倒数第四行的一起改,要同时改成同一名称printf(x,y,z=?); /这里提示输入方程的系数,提示语句 x,y,z= ?改成你自己的 scanf(%lf,%lf,%lf,&m,&n,&p);printf(e=?);/这里提示输入黄金分割的精度,提示。

5、语句e=?改成你自己的scanf(%lf,&e);JTF()/进退法的名称要和倒数第三行一起改double x1,x2,x3,f1,f2,f3,t,h;printf(x0,h=?);/这里提示输入进退法的初始点和步长, 提示语句 x0,h= ?改成你自己的scanf(%lf,%lf,&x1,&h);f1=F(x1);x2=x1+h;f2=F(x2);if(f1x3)a=x3;b=x1;elsea=x1;b=x3;printf(%lf,%lfn,a,b);HJFGF() /黄金分割法的名称要和倒数第二行一起改 double x1,x2,f1,f2;x1=a+0.382*(b-a);x2=a+0.618*(b-a);doif(F(x1)0?a-b:b-a)e);printf(a=%lf,b=%lfn,a,b);printf(x=%lfn,0.5*(a+b);printf(F(x)=%lfn,F(0.5*(a+b);main()InputData();/数据输入JTF(); /进退法HJFGF(); / 黄金分割法。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值