hrbatanu 发表于 2013-7-1 23:43 
yes, but how to build a bisect.m? I've tried that as I said in the question, I copy from my textbook ...
步骤:
1、点击软件左上角的新建
2、把以下内容粘贴下去
function [root,fx,ea,iter]=bisect(func,x1,xu,es,maxit,varargin)
if nargin<3,error('at least 3 input arguments required'),end
test = func(x1,varargin{:})*func(xu,varargin{:});
if test>0,error('no sign change'),end
if nargin<4|isempty(es),es=0.0001;end
if nargin<5|isempty(maxit),maxit=50;end
iter=0;xr=x1;ea=100;
while(1)
xrold=xr;
xr=(x1+xu)/2;
iter=iter+1;
if xr ~=0,ea=abs((xr-xrold)/xr)*100;end
test=func(x1,varargin{:})*func(xr,varargin{:});
if test<0
xu=xr;
elseif test>0
x1=xr;
else
ea=0;
end
if ea<=es | iter >=maxit,break,end
end
root = xr; fx=func(xr,varargin{:});
3、按保存,名字会自动保存为bisect.m
4、在命令窗口输入
fm=@(m)sqrt(9.81*m/0.25)*tanh(sqrt(9.81*0.25/m)*4)-36;
[mass, fx ea iter]=bisect(fm,40,200)
5、done!!