《2022年黄金分割法-机械优化设计方案-C语言程序 .pdf》由会员分享,可在线阅读,更多相关《2022年黄金分割法-机械优化设计方案-C语言程序 .pdf(6页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、黄金分割法的优化设计实验报告学院:机电工程机制自动化 11-03班学号: 541102010326 姓名:刘点点精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 1 页,共 6 页1,黄金分割法的程序流程图精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 2 页,共 6 页2,对应流程图的C语言程序下面应用C 语言程序利用黄金分割法求一元函数F=x2+2*x的最优解,已知初始区间为-3,5 ,取收敛精度e=10-4。C 语言程序如下:#include 精选学习资料 - - - - - - - - - 名师归
2、纳总结 - - - - - - -第 3 页,共 6 页#include #define f(x) pow(x,2)+2*x #define M 0.618 void main() double y1,y2,x1,x2,x,a,b,e 。int n。 n=1。 printf( 请输入收敛精度e=)。scanf(%lf,&e) 。printf( 请输入区间左值a=)。scanf(%lf,&a) 。printf( 请输入区间右值b=) 。scanf(%lf,&b) 。printf(n a b x1 x2 y1 y2n)。x1=b-M*(b-a) 。 x2=a+M*(b-a) 。y1=f(x1) 。
3、 y2=f(x2) 。 printf(%d %.4lf %.4lf %.4lf %.4lf %.4lf %.4lfn,n,a,b,x1,x2,y1,y2)。 n=n+ 。 do if(y1=e&fabs(y2-y1)/y2)=e)。 x=(a+b)*0.5 。 printf(x=%.5lfn,x)。getchar()。 3.运行结果 : 精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 5 页,共 6 页假 定 经 十 二 次 迭 代 后 已 满 足 收 敛 精 度 要 求 , 则 得x*=1/2(a+b)=1/2(-1.0214-0.9812)=-1.0013,相应的函数极值f(x*)=-0.9999 ;近似精确值x*=-1,f(x*)=-1,与解读法求得的精确值相同精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 6 页,共 6 页