📄 c5.cpp
字号:
//C5.cpp
//Composite Simpson Rule
#include<iostream.h>
#include<math.h>
double f(double x)
{
if (x==0)
return 1;
else
return sin(x)/(x);
}
double ComSimp(double x0,double xn,int n)
{
double s1,s2,h;
int i;
h=(xn-x0)/n;s1=f(x0+h/2);s2=0; //Initialization
for (i=1;i<n;i++)
{
s1+=f(x0+i*h+h/2);
s2+=f(x0+i*h);
}
return h/6*(f(x0)+4*s1+2*s2+f(xn));
}
void main()
{
double x0=0,xn=1;
int n=2;
cout<<ComSimp(x0,xn,n)<<endl;
}
//When n==100,the answer is:0.946083
//When n==2,the answer is:0.946087,
//两次相差不大,可见复化Simpson公式有着极好的计算效果
//但编写程序时必须注意本题除数会为零的情况
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -