您的位置:首页 > 编程语言 > MATLAB

Romberg积分法计算定积分(Matlab程序)

2012-03-30 18:48 447 查看
%Romberg积分法计算定积分

%参考教材:《数值分析》李乃成,梅立泉,科学出版社

%《计算方法教程》第二版 凌永祥,陈明逵

clear;clc;close all;

format long

% %被积函数为f(x)=4/(1+x^2);积分区间为[0,1]

% b=1;a=0;h=b-a;eps=10^(-5);

%误差界eps%被积函数为f(x)=(x^3+sin(x))/x;积分区间为[0.3,0.8]

%误差界eps=10^(-5)

b=0.8;a=0.3;h=b-a;eps=10^(-5);%误差界eps

kmax=10;%最大递推次数

T1=h/2*((a^3+sin(a))/a+(b^3+sin(b))/b)

S1=0;C1=0;C2=0;R1=0;R2=0;

for k=1:kmax

h=(b-a)/2^k;

i=1:2^(k-1);

x=a+(2*i-1)*h;

fx=sum((x.^3+sin(x))./x);

T2=T1/2+fx*h

S2=T2+(T2-T1)/3

if(k<3)

if k==2

C2=S2+(S2-S1)/15

end

else

C2=S2+(S2-S1)/15

R2=C2+(C2-C1)/63

if abs(R2-R1)<eps

break;

end

R1=R2;

end

T1=T2;S1=S2;C1=C2;

end

fprintf('所求积分I=%9.8f\n',R2);
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: