📄 复化simpson法.cpp
字号:
#include<iostream.h>
#include<math.h>
#include<stdio.h>
double h,t,a,b,n,x;
#define sign
double f1(double x)
{
double f1;
f1=4.0/(1+x*x);
return f1;
}
double f2(double x)
{
double f2;
if(x==0)f2=1;
else f2=sin(x)/x;
return f2;
}
void fuhua1()
{ printf("请输入积分限和节点数\n");
while(cin>>a>>b>>n)
{
h=(b-a)/n;
t=f1(a)+f1(b);
for(int i=1;i<n;i++){
x=a;
x=x+h;
t=t+2*f1(x);}
printf("t=%.7f\n",(h/2)*t);
}
}
void fuhua2()
{
printf("请输入积分限和节点数\n");
while(cin>>a>>b>>n)
{
h=(b-a)/n;
t=f2(a)+f2(b);
for(int i=1;i<n;i++){
x=a;
x=x+h;
t=t+2*f2(x);}
printf("t=%.7f\n",(h/2)*t);
}
}
int main()
{int i;
printf("请选择你需要计算的积分函数:\n");
printf("2:计算函数F=sin(x)/x的积分\n");
printf("1:计算函数F=4.0/(1+x*x)的积分\n");
cin>>i;
if(i==1) fuhua1();
else if(i==2)fuhua2();
return 0;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -