机械优化设计黄金分割法_第1页
机械优化设计黄金分割法_第2页
机械优化设计黄金分割法_第3页
机械优化设计黄金分割法_第4页
机械优化设计黄金分割法_第5页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、课程设计(实验)材料(2) 机械优化设计课程设计(实验)报告专 业 班 级: 设 计 题 目: 黄金分割法程序设计 学 生 姓 名: 学 生 学 号: 任 课 教 师: 2013年 月 日一、设计要求:基于一维搜索的试探方法思想,运用黄金分割法编写C语言程序,得到极小点的数值近似解。已知条件:1、目标函数:f(x)=x*x+2*x2、给定搜索区间:(-3,5)2、 方法原理黄金分割法适用于【a,b】区间上的任何单股函数求极小值问题,对函数 除 要 求“单谷”外 不 做 其 他 要 求,甚 至 可 以 不 连 续 。因 此 ,这 种 方 法的适应面非常广。黄金分割法也是建立在区间消去法原理基础上

2、的试探方法,即在搜索区间【a,b】内适当插入两点a1,a2,并计算其函数值。a1,a2将区间分成三段,应用函数的单谷性质,通过函数值 大 小 的 比 较,删 去 其 中 一 段,是 搜 索 区 间 得 以 缩 小。然 后 再 在 保 留 下来的区间上作同样的处理,如此迭代下去,是搜索区间无限缩小,从而得到极小点的数值近似解。三、程序清单:#include<stdio.h>#include<math.h>double hanshu (double x);void main()int k; double a,a1,a2,b,y1,y2,c,e,i,j; e=0.618,k=

3、0; printf("a="); scanf("%lf",&a); printf("b="); scanf("%lf",&b); printf("c="); scanf("%lf",&c); a1=b-e*(b-a); y1=hanshu(a1); a2=a+e*(b-a); y2=hanshu(a2); printf("输出次数=%dn a=%lf, a1=%lf, a2=%lf, b=%lf, y1=%lf, y2=%lfn",

4、k,a, a1,a2,b,y1,y2); i=(b-a)/b; j=(y2-y2)/y2; while(fabs(i)>=c|fabs(j>=c) k+; if(y1>=y2) a=a1,a1=a2,y1=y2,a2=a+e*(b-a),y2=hanshu(a2); elseb=a2,a2=a1,y2=y1,a1=b-e*(b-a),y1=hanshu(a1); printf("输出次数=%dn a=%lf, a1=%lf, a2=%lf, b=%lf, y1=%lf, y2=%lfn",k,a,a1,a2,b,y1,y2); i=(b-a)/b; j=(y2-y1)/y2; printf("k=%lfn",0.5*(a+b); double hanshu (double

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论