📄 定步长辛普森公式计算.cpp
字号:
#include "stdio.h"
#include "math.h"
#include "iostream.h"
double Func(double x)
{
if(x==0.0000000)
return 1;
else
return(sin(x)/x);
}
double SIMP(double a,double b,int n)
{
int i;
double h,s;
h=(b-a)/(2*n);
s=0.5*(Func(a)-Func(b));
for(i=1;i<=n;i++)
s+=2*Func(a+(2*i-1)*h)+Func(a+2*i*h);
return ((b-a)*s/(3*n));
}
double TX(double a,double b,double n)
{
int i;
double h,s;
h=(b-a)/(n);
s=Func(a)+Func(b);
for(i=1;i<=n-1;i++)
s+=2*Func(a+i*h);
return((h*s)/2);
}
void main()
{
double a,b;
int n;
a=0.0;b=1.0;n=4;
printf("a=0,b=1,n=4时的复合抛物线结果:");
printf("%.10f\n",SIMP(a,b,n));
n=8;
printf("a=0,b=1,n=8时的复合梯形结果:");
printf("%.10f\n",TX(a,b,n));
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -