标题:求助各位matlab大侠们~
只看楼主
cjhzju
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2008-3-25
 问题点数:0 回复次数:1 
求助各位matlab大侠们~
请教大侠们,我下面的这个函数哪里错了?调用的时候,如r(0,4)总是说自变量太多。我是新手,matlab语言不懂啊~

function y=intf(x)
y=exp(-x.^2);
function [s,n]=r(a,b,eps)

if nargin<3
     eps=1e-4;
end
s=10;
s0=0;
k=2;
t(1,1)=(b-a)*(intf(a)+intf(b))/2;
while (abs(s-s0)>eps)
    h=(b-a)/2^(k-1);
    w=0;
    if(h~=0)
        for i=1:(2^(k-1)-1)
            w=w+intf(a+i*h);
        end
        t(k,1)=h*(intf(a)/2+w+intf(b)/2);
        for p=2:k
            for i=1:(k-p+1)
                t(i,p)=(4^(p-1)*t(i+1,p-1)-t(i,p-1))/(4^(p-1)-1);
            end
        end
        s=t(1,k);
        s0=(t(1,k-1));
        k=k+1;
        n=k;
    else s=s0;
        n=-k;
    end
end

r.rar (703 Bytes)
搜索更多相关主题的帖子: matlab intf eps 
2008-06-04 17:42
hitzhang
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:21
帖 子:369
专家分:52
注 册:2006-9-24
得分:0 
把function [s,n]=r(a,b,eps)的eps换成其他的看看

2008-06-06 22:01



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-217651-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.513155 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved