mathlab的Romberg怎么写?

来源:百度知道 编辑:UC知道 时间:2024/09/23 11:29:01
用matlab的Romberg 算f(x)=sinx/x,,,,这个函数~~
请直接给出代码

Romberg算法要自己遍,刚好我知道这个算法,我就给你编遍吧!

ff1=inline('sin(x)./x','x');
a=1;b=2;eps=1.0e-6;%这里的a、b为积分上下限,eps为精度
t1=10000;
t2=-10000;
n=2;
t(1,1)=0.5*(b-a)*(ff1(a)+ff1(b));
while abs(t2-t1)>=eps
area=0.0;
h=(b-a)/2^(n-1);
for i=1:(2^(n-1))
area=area+0.5*h*(ff1(a+h*(i-1))+ff1(h*i+a));
end
t(n,1)=area;
for j=2:n
for i=1:(n-j+1)
t(i,j)=(4^(j-1)*t(i+1,j-1))/(4^(j-1)-1);
end
end
t1=t(1,n);
t2=t(1,n-1);
n=n+1;
end
s=t1

s =

0.957579871287963

s就是最后的积分结果,你可以改变a、b积分上下限,以及精度eps

哎,写的我好累哦,我试过了,结果没问题的。

不容易啊,调试了好久呢,怎么着也要给我追加一些分吧,悬赏分太少了……