外推法c语言相关程序,一维搜索外推法程序设计实验报告.doc

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

课程设计(实验)材料(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;

x0=0;h0=0.1;

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=%f\n",x1);

printf("x3=%f\n",x3);

}

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

五、手算过程

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值