⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 romberg.m

📁 主旨表遗传算法
💻 M
字号:
#include "iostream" 
#include "cmath" 
#include "iomanip" 
using namespace std; 
#define N 20 
#define e 1E-10 
typedef double TYPE; 

TYPE f(TYPE x) { 
if (x==0) return 1.0; 
return sin(x)/x; 
} 

double T2n(double a,double b,int n=0,double Tn=0) { 
double New=0; 
double h; 
if (n==0) { 
h = b-a; 
return (f(a)+f(b))*h/2; 
} 
h = (b-a)/n; 
double x = a+h/2; 
while (x New += f(x); 
x += h; 
} 
return (Tn+h*New)/2; 
} 

double Romberg(double a,double b) { 
double T1,T2,S1,S2,C1,C2,R1,R2; 
int k = 0,n=1; 
cout< cout<<"k "<<"T "<<" S "<<" C "<<" R "< T1 = T2n(0,1); 
cout< do {k++; 
T2 = T2n(0,1,n,T1); 
cout< S2 = (4*T2-T1)/3; 
cout< if (k!=1) { 
C2 = (16*S2-S1)/15; 
cout< if (k!=2) { 
R2 = (64*C2-C1)/63; 
cout< if (k!=3 && fabs(R2-R1) cout<<"\n\n迭代次数: "< return R2; 
} 
R1=R2; 
} 
C1=C2; 
} 
S1=S2; 
T1 = T2; 
n*=2; 
// k++; 
cout< }while (k if (k==N) cout<<"\n迭代超过次数!!!\n"< return 0; 
} 

int main () 
{ 
cout< <<"最终结果为: " 
< return 1; 
} 
求得是f(x)=sin(x)/x从0-1上的积分
Romberg

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -