- Visual C++源码
- Visual Basic源码
- C++ Builder源码
- Java源码
- Delphi源码
- C/C++源码
- PHP源码
- Perl源码
- Python源码
- Asm源码
- Pascal源码
- Borland C++源码
- Others源码
- SQL源码
- VBScript源码
- JavaScript源码
- ASP/ASPX源码
- C#源码
- Flash/ActionScript源码
- matlab源码
- PowerBuilder源码
- LabView源码
- Flex源码
- MathCAD源码
- VBA源码
- IDL源码
- Lisp/Scheme源码
- VHDL源码
- Objective-C源码
- Fortran源码
- tcl/tk源码
- QT源码
f0611.cpp
资源名称:c.rar [点击查看]
上传用户:puke2000
上传日期:2022-07-25
资源大小:912k
文件大小:1k
源码类别:
C#编程
开发平台:
Visual C++
- //==================================
- // f0611.cpp
- // 辛普生积分
- //==================================
- #include<iostream>
- #include<fstream>
- #include<cmath>
- using namespace std;
- //----------------------------------
- double g(double x){
- return 1/x;
- }//---------------------------------
- double simpson(double a, double b, double(*f)(double)){
- double I2n=0,h=b-a,T2n=h*(f(a)+f(b))/2,In=T2n,Tn;
- for(int n=1; abs(I2n-In)>1e-3; n+=n,h/=2.0){
- In=I2n; Tn=T2n; // In老积分值
- double sigma=0;
- for(int k=0; k<n; k++)
- sigma += f(a+(k+0.5)*h);
- T2n=(Tn+h*sigma)/2;
- I2n=(4*T2n-Tn)/3; // I2n新积分值
- }
- return I2n;
- }//---------------------------------
- int main(){
- ifstream in("integral.txt");
- cout<<fixed; cout.precision(3);
- for(double b; in>>b; )
- cout<<simpson(1,b,g)<<"n";
- }//=================================