龙贝格算法

#include

#include

#include

#include

float precision;

float f(float x){return(sqrt(x)*log(x));}

float Romberg(float a,float b)

{int k=1;double S,x,T1,T2,S1,S2,C1,C2,R1,R2,h=b-a; if(a==0.0)

a=precision;

T1=h*(f(a)+f(b))/2;

while(1){S=0;x=a+h/2;

do

{S+=f(x);x+=h;}while(x

T2=(T1+h*S)/2.0;

if(fabs(T2-T1)

S2=T2+(T2-T1)/3.0;

if(k==1)

{T1=T2;S1=S2;h/=2;k+=1;continue;}

C2=S2+(S2-S1)/15.0;

if(k==2)

{C1=C2;T1=T2;S1=S2;h/=2.0;k+=1;continue;} R2=C2+(C2-C1)/63.0;

if(k==3)

{R1=R2;C1=C2;T1=T2;S1=S2;h/=2;k+=1;continue;}; if(fabs(S1-S2)

R1=R2;C1=C2;T1=T2;S1=S2;

h/=2;k+=1;return(R1);}}

int main(){float a,b,S,clrscr();

printf("\n Input integrate f(x)the begin:");

scanf("%f",&a);

printf("\n Input integrate f(x) the end:");

scanf("%f",&b);

printf("\n input precision:");

scanf("%f",&precision);

S=Romberg(a,b);

printf("The result is: %f",S);

getchar();

//getchar();

return(S);}

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐