?? 梯形法.cpp
字號:
#include<iostream.h>
#include<math.h>
#define Pi 3.1415926535//給圓周率賦值
int n=1;//分段數
double InterGra(int);//定義函數積分
double Fun(double);//定義被積分函數
void main()
{
cout<<"梯形法計算函數f(x)=xcos(x)sin(30x)從0到2pi上的積分"<<endl;
double Dif=10000;
while(Dif>0.000000000000000001)
{
n=2*n;
Dif=(InterGra(n)-InterGra(2*n))*(InterGra(n)-InterGra(2*n));
cout<<"n="<<n<<" ""I="<<InterGra(n)<<" "<<"error="<<sqrt(Dif)<<endl;
}
}
//判斷n和2n的劃分的差別是否收斂,收斂則輸出積分結果
double InterGra(int m)
{
double h=2*Pi/double(m);
double Xi;
double sum=0;
for(int i=0;i<m;i++)
{
Xi=i*h;
sum=sum+Fun(Xi)+Fun(Xi+h);
}
return sum*h/2;
}
//實現對被積函數的積分
double Fun(double x)
{
return x*cos(x)*sin(30*x);
}
//返回被積函數的值
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -