df.m

来自「有关matlab r2007的实用教程」· M 代码 · 共 31 行

M
31
字号
function DF=DF(fun,a,b,esp)
if nargin<4
    eps=1.0e-6;
elseif nargin>4
    error
    return
end
test=feval(fun,a)*feval(fun,b);   %判断区间[a,b]端点处函数值的正负
if test<0
    c=(a+b)/2;  %计算区间[a,b]中点
    while c>esp
        test1=feval(fun,a)*feval(fun,c);   %判断区间[a,c]端点处函数值的正负
        test2=feval(fun,b)*feval(fun,c);  %判断区间[b,c】端点处函数值的正负
        if test1<0
            b=c; 
            c=(a+b)/2;
        elseif test2<0
            a = c;
            c = (a+b)/2;
        else 
            DF=c;
            esp=100000;
        end
    end
elseif feval(fun,a)==0
    DF=a;
elseif feval(fun,b)==0
    DF=b;
else disp('Error Occur!');  %显示错误信息
end

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?