机械优化黄金分割法c语言编程,黄金分割法_机械优化设计_C语言程序.doc
黄金分割法_机械优化设计_C语言程序黄金分割法_机械优化设计_C语言程序
黄金分割法的优化设计
实验报告
学院:机电工程
机制自动化11-03班
学号:541102010326
姓名:刘点点
1,黄金分割法的程序流程图
2,对应流程图的C语言程序
下面应用C语言程序利用黄金分割法求一元函数F=x^2+2*x的最优解,已知初始区间为[-3,5] ,取收敛精度e=10-4。
C语言程序如下:
#include
#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 y2\n");
x1=b-M*(b-a);
x2=a+M*(b-a);
y1=f(x1);
y2=f(x2);
printf("%d %.4lf %.4lf %.4lf %.4lf %.4lf %.4lf\n",n,a,b,x1,x2,y1,y2);
n=n++;
do
{
if(y1
{
b=x2;
x2=x1;
y2=y1;
x1=b-M*(b-a);
y1=f(x1);
printf("%d %.4lf %.4lf %.4lf %.4lf %.4lf %.4lf\n",n,a,b,x1,x2,y1,y2);
n=n++;
}
else
{
a=x1;
x1=x2;
y1=y2;
x2=a+M*(b-a);
y2=f(x2);
printf("%d %.4lf %.4lf %.4lf %.4lf %.4lf %.4lf\n",n,a,b,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\n",x);
getchar();
}
3.运行结果:
假定经十二次迭代后已满足收敛精度要求,则得x*=1/2(a+b)=1/2(-1.0214-0.9812)=-1.0013,相应的函数极值f(x*)=-0.9999;
近似精确值x*=-1,f(x*)=-1,与解析法求得的精确值相同
机械优化黄金分割法c语言编程,黄金分割法_机械优化设计_C语言程序.doc相关推荐
- linux+下c语言编程项目,精通UNIX下C语言编程与项目实践
cc -I //include 目录 -L //静态库目录?动态也可以 -l //小写L,接静态库名称?动态也可以 -DXXX='"XXFF"' //-D直接定义宏 -c 只编译 ...
- 湛江C语言培训,湛江c语言编程学习,湛江学c语言编程报班,湛江学c语言编程自学好还是报班好...
湛江c语言编程学习,湛江学c语言编程报班,湛江学c语言编程自学好还是报班好 首页 > C语言 > 湛江c语言编程学习 作者:镀金池 发布时间:2017-10-19 09:51 在Swi ...
- c语言程序设计自学跟谁好,双辽c语言编程学习,双辽学c语言编程哪个好,双辽学c语言编程自学好还是报班好...
双辽c语言编程学习,双辽学c语言编程哪个好,双辽学c语言编程自学好还是报班好 首页 > 软件 > 双辽c语言编程学习 作者:镀金池 发布时间:2017-12-07 05:48 一个C语 ...
- C语言编程>第二十三周 ③ 下列给定程序中,函数fun的功能是:利用插入排序法对字符串中的字符按从小到大的顺序进行排序。插入法的基本算法是:先对字符串中的头两个元素进行排序;然后把第三字符插入
例题:下列给定程序中,函数fun的功能是:利用插入排序法对字符串中的字符按从小到大的顺序进行排序.插入法的基本算法是:先对字符串中的头两个元素进行排序:然后把第三字符插入到前两个字符中,插入后前三个字 ...
- C语言编程>第二十周 ② 下列给定程序中,函数fun的功能是:求出数组中最大数和次最大数,并把最大数和b[0]中的数对调、次最大数和b[1]中的数对调。
例题:下列给定程序中,函数fun的功能是:求出数组中最大数和次最大数,并把最大数和b[0]中的数对调.次最大数和b[1]中的数对调. 注意:不要改动main函数,不能增行或删行,也不能更改程序的结构. ...
- c语言程序设计需要学多久,九江c语言编程学习,九江学c语言编程报班,九江学c语言编程一般要多久才能学会...
九江c语言编程学习,九江学c语言编程报班,九江学c语言编程一般要多久才能学会 首页 > C语言 > 九江c语言编程学习 作者:镀金池 发布时间:2017-10-18 14:11 据ID ...
- C语言编程>第二十五周 ① 给定程序中,函数fun的功能是:在形参s所指字符串中的每个非数字字符之后插入一个“*”号。
例题:给定程序中,函数fun的功能是:在形参s所指字符串中的每个非数字字符之后插入一个"*"号. 例如,形参s所指的字符串为:albc45sdtg56f,则执行结果为:a*1b*c ...
- c语言编程学多久,丰城c语言编程学习,丰城学c语言编程的学校,丰城学c语言编程一般要多久才能学会...
丰城c语言编程学习,丰城学c语言编程的学校,丰城学c语言编程一般要多久才能学会 首页 > 软件 > 丰城c语言编程学习 作者:镀金池 发布时间:2018-04-09 16:40 在之后 ...
- 成都c语言编程培训机构,成都学c语言编程,成都学c语言编程去哪里,成都学c语言编程需要报培训班吗...
成都学c语言编程,成都学c语言编程去哪里,成都学c语言编程需要报培训班吗 首页 > 软件 > 成都学c语言编程 作者:镀金池 发布时间:2018-09-28 14:20 近似带有序布局 ...
最新文章
- phpstudy安装imagick扩展库怎么装
- https open api_钉钉API发送消息
- python数独游戏源代码100行_python实现解数独程序代码
- Java Signal实例
- scala与java混合编译出现的问题
- 线程池的简单创建和实现
- 写了多年代码,你会 StackOverflow 吗
- java barrier_Java - Latch和Barrier的区别
- python可视化报表制作教程_如何使用Python快速制作可视化报表
- 数据库的开发笔记-字典表
- php转型mysql dba_MySQL_DBA整理(转)
- 疯狂.NET 通用权限设计 C\S后台管理,B\S前台调用源码样例程序源码下载之 --- 操作权限...
- 算法---回溯法--模板解法
- android开发,assets下面的资源文件不会变化/改动
- Ajax之搭建一个基本的Ajax框架(技术分析篇)
- 国内各大安卓市场有ASO优化吗?安卓应用市场aso优化
- 上证50基金有哪些_哪一只上证50指数基金最值得关注?
- element plus 部分组件转英文问题
- C/C++ 电脑微信dat文件解密及工具分享
- java毕业设计汽车维修管理系统源码+lw文档+mybatis+系统+mysql数据库+调试
热门文章
- win10一键禁止系统更新工具
- PHP调用京东联盟开普勒、宙斯API模板
- 西奥迪尼的《影响力》你看过没?
- 软件开发编码规范_如果您只喜欢编码,请不要成为软件开发人员
- 不属于python第三方库_在 Python 语言中,不属于机器学习领域第三方库的是______。???????????????????????????????????????...
- GitHub Universe 转播 | Enterprise Day 2 日程
- 防止勒索病毒,请立即照此方法设置电脑!
- 网站HTTPS是有什么用吗
- 序列检测器(两种设计方法和四种检测模式|verilog代码|Testbench|仿真结果)
- python 随机生成简单语法结构的中文句子