优化程序-黄金分割法C语言程序设计
更新时间:2023-11-19 10:52:01 阅读量: 教育文库 文档下载
董建兴 现代设计方法之优化设计 编程
黄金分割法 c语言程序
题目:用黄金分割法求f(x)=x2-7x+10的最优解。设置初始点为:x0=0,初始步长h=1,取迭代精度e=0.35 程序:
#include \#include \#include \#define e 0.35 #define tt 1
float function(float x) {
float y;
y=pow(x,2)-7*x+10; return(y); }
void searching(float a[3],float f[3]) {float h=tt,a1,f1,ia,i; a[0]=0;
f[0]=function(a[0]); for(i=0;;i++) {a[1]=a[0]+h;
f[1]=function(a[1]); if(f[1]
{h=-h;a[0]=a[1];f[0]=f[1];} else{ if(ia==1) return; h=h/2;ia=1;} }
for(i=0;;i++) {a[2]=a[1]+h;
f[2]=function(a[2]); if(f[2]>f[1]) break; h=2*h;
a[0]=a[1];f[0]=f[1]; a[1]=a[2];f[1]=f[2]; }
if(a[0]>a[2])
{a1=a[0];f1=f[0]; a[0]=a[2];f[0]=f[2]; a[2]=a1;f[2]=f1;
董建兴 现代设计方法之优化设计 编程
} return; }
void main()
{ float function(float x); float a1[3],f1[3],a[4],f[4]; float F1,F2,m,n,xx; searching(a1,f1);
a[0]=a1[0];f[0]=f1[0]; a[3]=a1[2];f[3]=f1[2]; while(fabs(a[0]-a[3])>e) {
m=a[3]-0.618*(a[3]-a[0]); n=a[0]+0.618*(a[3]-a[0]); F1=function(m); F2=function(n); if(F1 else a[0]=m; xx=(a[0]+a[3])/2; printf(\F2=.12f xx=.12f\\n\[3],xx); } } a[0]=.12f a[3]=.12f\\n
正在阅读:
优化程序-黄金分割法C语言程序设计11-19
幼儿园膳食分析营养计算方法及步骤09-01
汽车S店核算大全06-01
心理和营养因素对恶性肿瘤的影响02-25
2018年高考数学二轮复习第一部分专题七系列4选讲第一讲坐标系与参数方程教案选修4 - 412-01
第11讲 单因素方差分析06-02
公积金业务您问我答 - 贷款篇 - 图文04-22
第三讲 独立基础(浅基础)07-10
二年级课外阅读练习题大全03-01
- exercise2
- 铅锌矿详查地质设计 - 图文
- 厨余垃圾、餐厨垃圾堆肥系统设计方案
- 陈明珠开题报告
- 化工原理精选例题
- 政府形象宣传册营销案例
- 小学一至三年级语文阅读专项练习题
- 2014.民诉 期末考试 复习题
- 巅峰智业 - 做好顶层设计对建设城市的重要意义
- (三起)冀教版三年级英语上册Unit4 Lesson24练习题及答案
- 2017年实心轮胎现状及发展趋势分析(目录)
- 基于GIS的农用地定级技术研究定稿
- 2017-2022年中国医疗保健市场调查与市场前景预测报告(目录) - 图文
- 作业
- OFDM技术仿真(MATLAB代码) - 图文
- Android工程师笔试题及答案
- 生命密码联合密码
- 空间地上权若干法律问题探究
- 江苏学业水平测试《机械基础》模拟试题
- 选课走班实施方案
- 黄金分割
- 程序设计
- 优化
- 语言
- 程序