0.618法的c语言编程程序?

0.618法的c语言编程程序?,第1张

其次,你的题目是否有问题???得不出结果啊,还有你定义的c怎么不使用。我按照你题目的意思编写了一下,但不出结果(死循环)。

#include<stdio.h>

float f(float x)

{

float y

y=x+10/x

return(y)

}

float abvalue(float a,float b)

{

if(a>b)

return (a-b)

else

return (b-a)

}

void main()

{

float a=2,b=10,c=0.3

float f1,f2,k,a1,b1

do

{

a1=a+0.382*(b-a)//第一步

b1=b+0.618*(b-a)

if(f(a1)>f(b1))//第二步

{

a=a1

b=b

}

else

{

b=b1

a=a

}

}

while(abvalue(a,b)>0.3)

printf("the result k is %f",(b-a)/2)

}

另外,虚机团上产品团购,超级便宜

float NewtonTon(float x0,int N)//不需要想x1,N为最大迭代次数 { int k=0float f=f(x0)//自己改成特定的函数 float df=df(x0)//求导函数 x1=x0-f/dfk=k+1while(abs(x1-x0)>=eps&&k=N) retunrn 0else return x1}

private void prove()

{

double pre = 1//前一项

double back = 1//后一项

double current = 1//当前新值

double ratio = 0.0//比例

for (double i = 1i <100i++)

{

current = pre + back

ratio = back / current

pre = back

back = current

}

}


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/7759914.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-09
下一篇 2023-04-09

发表评论

登录后才能评论

评论列表(0条)

保存