定步长复化Simpson解积分方程

王朝other·作者佚名  2006-01-09
窄屏简体版  字體: |||超大  

/**

***定步长复化Simpson解积分方程***

n-1

定步长复化Simpson公式:Sn=h/6{f(a)-f(b)+ ∑ [ 4f(x(k-1/2)) + 2f(x(k)) ]}

k=0

属性:数值积分法

误差(精度):I - Sn ≈ - 1/180 * (h*h*h*h)/2 * [ f'''(b) - f'''(a) ]

h = ( b - a ) / n

《数值分析简明教程》-2 Editon -高等教育出版社- page 65 算法流程图

代码维护:2005.6.14 DragonLord

**/

**/

#include<iostream.h>

#include<math.h>

#include<stdio.h>

double f(double x)

{

double f;

if(x==0)f=1; // 1

else f=sin(x)/x; // 举例方程 I = ∫ sin(x)/x dx

return f; // 0

}

int main()

{

double h,s,a,b,n,x;

while(cin>>a>>b>>n)

{

h=(b-a)/n;

s=f(a)-f(b);

x=a;

for(int i=0;i<n;i++)

{

x=x+h/2;

s=s+4*f(x);

x=x+h/2;

s=s+2*f(x);

printf("x=%.7f f(x)=%.7f,x=%.7f f(x)=%.7f s=%.7f\n",x-h/2,f(x-h/2),x,f(x),h*s/6);

}

}

return 0;

}

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航