function y=erfen(fun,a,b,ep)
n=1;
if nargin<4
ep=0.000001;
end;
if feval(fun,a)*feval(fun,b)<0
c=(a+b)/2;
while abs(b-a)>ep
if feval(fun,a)*feval(fun,c)<0
b=c;
c=(a+b)/2;
elseif feval(fun,c)*feval(fun,b)<0
a=c;
c=(a+b)/2;
else y=c;
end
n=n+1;
yy=feval(fun,c);
end
y=c;
elseif feval(fun,a)==0
y=a;
elseif feval(fun,b)==0
y=b;
else disp('these may not be a root in the interval');
end
n-1
评论0