网站建设资讯

NEWS

网站建设资讯

c语言进退算法求函数区间 c语言进制算法

用C语言完成一个功能,判断一个数在哪一个区间

吧0(a0), a1~a19放到数组中, 然后循环判断就行了

创新互联建站专注于三门网站建设服务及定制,我们拥有丰富的企业做网站经验。 热诚为您提供三门营销型网站建设,三门网站制作、三门网页设计、三门网站官网定制、小程序定制开发服务,打造三门网络公司原创品牌,更为您提供三门网站排名全网营销落地服务。

for(int i=0; i19 i++)

{

if(number=a[i] number=a[i+1])

{

cout"Range Num: " i+1;

break;

}

}

用进退法确定函数f(x)=x^2-6x+9的一优化搜索区间[a,b].设...

用进退法确定函数f(x)=x^2-6x+9的一优化搜索区间[a,b]

为X区间[A,B],F(X)=-X^2-6X+9=-(X^2+6X+9)+9+9=-(X+3)^2+18

当F(X)=9时候,即-(X+3)^2+18=9 ==X=0或 X=-6

当F(X)=9时候,即-(X+3)^2+18=-7 ==X=2 或X=-8

因为当X-3的区间,F(X)是单调减函数

当X-3的区间,F(X)是单调增函数

所以满足条件的区间[A,B]是[0,2]与[-6,-8]

所以A=0,B=2 或A=-6,B=-8

注意事项

(1)函数的单调性是对函数定义域内的某个子区间而言的,是函数的局部性质。

(2)函数f(x)在给定区间上的单调性是函数在该区间上的整体性质。

(3)函数的单调性定义中x1,x2有三个特征:任意性、有大小、属于同一个单调区间。

(4)求函数的单调区间,必须先求定义域。

(5)区间端点的写法:对于单独的一点,由于它的函数值是唯一确定的常数,没有增减变化,所以不存在单调性问题,因此在写单调区间时,可以包括端点,也可以不包括端点,但对于某些点无意义时,单调区间就不包括这些点。

用C语言来编进退法的搜索区间

用C语言来编进退法的搜索区间的源代码如下:

#includestdio.h

void main()

{

int a[20],x,i,start,end;

printf("input 20 numbers:\n");

for(i=0;i20;i++) scanf("%d",a[i]);

printf("please enter the number:\n");

scanf("%d",x);

for(start=0,end=19;start=end;)

{

i=start+(end-start)/2;

if (x==a[i])

{

printf("%d",i+1);

getch();

return;

}

else if (xa[i]) end = i-1;

else start=i+1;

}

扩展资料

1、C语言查找是在大量的信息中寻找一个特定的信息元素,在计算机应用中,查找是常用的基本运算,例如编译程序中符号表的查找。

2、其实二分查找、插值查找以及斐波那契查找都可以归为一类——插值查找。插值查找和斐波那契查找是在二分查找的基础上的优化查找算法。

编程你们来看下啊2X^2-2X+1用C语言编出来,最好用MATLAB搞出来还有分加的

把以下程序存为f618.m,再运行[x,min]=F618(0.2,0,1)

得到:x=1,min=0

function [x,min]=F618(precision,t0,h)

%初始区间为a,b,相对精度precision 即为原区间的多少分之,t0为初始值,h为步长

%用进退法得到高低高区间,在用0.618法求最值

%precision=0.2;

%t0=0;

%h=1;

[a,b]=Fpush(t0,h);

An=a;

Bn=b;

n=1;

while 0.618^(n-1)=precision

A=0.618.*(An-Bn)+Bn;

B=0.618.*(Bn-An)+An;

if AB

if F618Ret(A)F618Ret(B)

Bn=B;

else

An=A;

end

else

if F618Ret(A)F618Ret(B)

An=A;

else

Bn=B;

end

end

n=n+1;

end

x=An;

min=F618Ret(An);

%=======================================

function y=F618Ret(x)

%函数为f(x)=t^2-10*t+36 严格凸函数

y=x.^2-2*x+2;

%======================================

function [x1,x2]=Fpush(t0,h)

%进退法,调用函数为,F618Ret,t0为初始值,h为步长

a=t0;

b=t0+h;

while 1

if F618Ret(a)F618Ret(b)

h=0-h;

a=a+h;

b=a-h;

if F618Ret(b)F618Ret(b-h) F618(b)F618Ret(a)

break;

end

else

a=b;

b=a+h;

if F618Ret(a)F618Ret(b) F618Ret(a)F618Ret(a-h)

break;

end

end

end

x1=a;

x2=b;


名称栏目:c语言进退算法求函数区间 c语言进制算法
网站地址:http://njwzjz.com/article/ddicgps.html