欢迎来到天天文库
浏览记录
ID:6445216
大小:170.00 KB
页数:3页
时间:2018-01-14
《黄金分割法_机械优化设计_c语言程序》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、基于C语言的黄金分割法的优化设计1,黄金分割法的程序流程图2,对应流程图的C语言程序下面应用C语言程序利用黄金分割法求一元函数F=1.2*X^4-1*X^3-9*X^2-22*X+210的最优解,已知初始区间为[1,7],取收敛精度e=10-6。C语言程序如下://机械优化设计,黄金分割法(0.618法)的C语言源程序#include#include#definef(x)1.2*pow(x,4)+(-1)*pow(x,3)+(-9)*pow(x,2)+(-22)*pow(x,1)+210//定义函数F=1.2*X^4-1*X^3-9*X^2-22
2、*X+210#defineM0.618//定义常变量M=0.618,流程图中的λ用大写字母M代替voidmain(){doubley1,y2,x1,x2,x,a,b,e;//流程图中的а用x代替intn;n=1;printf("请输入收敛精度e=");//流程图中的收敛精度ε用小写字母e代替scanf("%lf",&e);printf("请输入区间左值a=");scanf("%lf",&a);printf("请输入区间右值b=");scanf("%lf",&b);printf("nabx1x2y1y2");x1=b-M*(b-a);x2=a+M*(b-a);y1=f(x1);
3、y2=f(x2);printf("%d%.4lf%.4lf%.4lf%.4lf%.4lf%.4lf",n,a,b,x1,x2,y1,y2);n=n++;do{if(y14、,x1,x2,y1,y2);n=n++;}}while(fabs((b-a)/b)>=e&&fabs((y2-y1)/y2)>=e);x=(a+b)*0.5;printf("x=%.5lf",x);getchar();}3.运行结果:
4、,x1,x2,y1,y2);n=n++;}}while(fabs((b-a)/b)>=e&&fabs((y2-y1)/y2)>=e);x=(a+b)*0.5;printf("x=%.5lf",x);getchar();}3.运行结果:
此文档下载收益归作者所有