24小时热门版块排行榜    

CyRhmU.jpeg
查看: 1312  |  回复: 3

ghost118

木虫 (小有名气)

[求助] matlab龙贝格求积已有1人参与

小弟按照书上的算法程序输入了matlab,被积函数是ln(1+x)/x,积分区间是0到1,下面是算法程序:
a=0;b=1;eps=0.5*10^-6;
M=1;h=b-a;err=1;J=0;R=zeros(4,4);
R(1,1)=h*(1+f(b))/2;   
while(err>eps)
    J=J+1;
    h=h/2;
    x=a+h:2*h:b-h;
    R(J+1,1)=R(J,1)/2+h*sum(f(x));
    for K=1:min(3,J)
        R(J+1,K+1)=R(J+1,K)+(R(J+1,K)-R(J,K))/(4^K-1);
    end
    if(J>3)
        err=abs(R(J+1,4)-R(J,4));
    end   
end
quad=R(J,4);
运行出来的结果和实际相差很大,而且用这个程序做书上的例题,可以做出来,是不是被积函数是反常积分的缘故呢,希望能有大神从中指点,不胜感激

[ 发自手机版 http://muchong.com/3g ]
回复此楼
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

月只蓝

主管区长 (职业作家)

【答案】应助回帖

★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★
感谢参与,应助指数 +1
ghost118: 金币+30, 有帮助 2014-11-15 21:00:15
自适应龙贝格积分:
quadl(@(x)  log(1+x)./x,0,1)

ans =

   0.822467034106751

自适应Gauss-Kronrod 积分:
quadgk(@(x)  log(1+x)./x,0,1)

ans =

   0.822467033424113
MATLAB、MS小问题、普通问题请发帖求助!时间精力有限,恕不接受无偿私信求助。
2楼2014-11-12 18:49:39
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

ghost118

木虫 (小有名气)

引用回帖:
2楼: Originally posted by 月只蓝 at 2014-11-12 18:49:39
自适应龙贝格积分:
quadl(@(x)  log(1+x)./x,0,1)

ans =

   0.822467034106751

自适应Gauss-Kronrod 积分:
quadgk(@(x)  log(1+x)./x,0,1)

ans =

   0.822467033424113

哥,答案是对的,但是有代码么,或者帮我这代码改改,快交了,跪求啊

[ 发自小木虫客户端 ]
3楼2014-11-13 00:16:51
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

ghost118

木虫 (小有名气)

引用回帖:
3楼: Originally posted by ghost118 at 2014-11-13 00:16:51
哥,答案是对的,但是有代码么,或者帮我这代码改改,快交了,跪求啊
...

我们老师要看代码

[ 发自小木虫客户端 ]
4楼2014-11-13 00:17:33
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 ghost118 的主题更新
信息提示
请填处理意见