일반 함수에 대한 이분법 계산을 위한 프로그램을 만드는데요
function [root, ea, iter] = bisection(func,xl,xu,es, maxit, varargin)
test=func(xl,varargin{:})*func(xu,varargin{:})
if test > 0, error, end
if nargin < 4 | isempty(es), es=0.00001;end
if nargin < 5 | isempty(maxit), es=50;end
iter=0; xr=xl;
while(1)
xrold = xr;
xr = (xl+xu)/2;
iter = iter+1
if xr ~=0, ea = abs((xr-xrold)/xr)*100; end
test=func(xl,varargin{:})*func(xu,varargin{:})
if test < 0
xu = xr;
elseif test > 0
xl=xr;
else
ea=0
end
if ea <= es | iter >= maxit,break,end
end
root=xr;
이것까지가 제가 한 부분입니다.
근데 자꾸 Error using bisect (line 20) Not enough input arguments. 이게 뜨는데
밑줄 친 부분이 20번 째 줄입니다. 도움좀 부탁드려 봅니다.