一维搜索外推法程序设计实验报告

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

课程设计(实验)材料(1)

安徽工程大学

机械优化设计

课程设计(实验)报告

专业班级:车辆工程 110 设计题目:一维搜索外推法程序设计

学生姓名:王阔

学生学号:3110104206

任课教师:梁利东

年月日

一、设计要求:

基于一维搜索算法思想,运用外推法编写C语言程序,确定搜索初始单谷区间。

已知条件:

1、目标函数:f(x)=x*x-5*x+9

2、初始点及步长:x=0,h=0.1(可采用输出方式赋值)……外推法数值迭代求解:初始单谷区间并输出

二、方法原理

从X=0开始,以初始步长h向前试探。如果函数值上升,则步长变号,即改变试探方向。如果函数值下降,则维持原来的试探方向,并将步长加倍。区间的始点,中间点依次沿试探方向移动一步。此过程一直进行到函数值再次上升时为止,即可找到搜索区间的终点。最后得到的三点即为搜索区间的始点,中间点和终点,形成函数值的“高—低。高”趋势—三、程序清单:#include stdio.h

#include math.h

double f(double x)

{return (x*x-5*x+9);

}

void main()

{double x0,x1,y1,x2,y2,x3,y3,h0;

0.1;

=0;h0= x0.

x1=x0;y1=f(x1);

x2=x1+h0;y2=f(x2);

if (y2>y1)

{ h0=-h0;x3=x1;x1=x2;x2=x3; y3=y1;y1=y2;y2=y3;

}

x3=x2+h0;y3=f(x3);

while (y3

{ h0=2*h0;x1=x2;y1=y2;

x2=x3;y2=y3;

x3=x2+h0;y3=f(x3);

}

if (h0<0)

{ x2=x1;x1=x3;x3=x2;}

printf(硜?春屜屮,x1);

printf(硜?春屜屮,x3);

}

四、实验结果(要求附上程序运行结果截图)

五、手算过程

相关文档
最新文档