matlab问题二分法

img


用二分法求两曲线交点,精度10^-4

img


教材的示范是这个但是跑不了,是版本问题吗还是

matlab高版本好像是移除了inline函数 改成@(x)这种了。


f=@(x)x.^5+x-1;
fplot(f,[0,1]);grid;

hold on;
a=0;b=1;dlt=1.0e-5;k=1;
while abs(b-a)>dlt
    c=(a+b)/2;
    plot(c,0,'*');
    fprintf('k=%.0f,x=%.5f\n',k,c)
    if f(c)==0
        return;
    elseif f(c)*f(b)<0
            a=c;
        else
            b=c;
        end
        k=k+1;
end

img

是版本问题,教材用的版本很老了,有些函数都去掉了