Matlab - Plot没有显示

时间:2016-06-03 16:32:19

标签: matlab plot

我有以下功能:

function [ rad,it ] = bisect( f,a,b,Eps,it,maxit )
X=a:0.1:b;
Y=f(X);
plot(X,Y);
title(sprintf('eps=%d',Eps));
hold on;
format long e;
fa=feval(f,a);
if(abs(fa)<=Eps)
    rad=a;
    return;
end
fb=feval(f,b);
if(abs(fb)<=Eps)
    rad=b;
    return;
end
str=sprintf('a= %d b= %d, fa= %d, fb= %d, it= %d',a,b,fa,fb,it);
disp(str);
if(fa*fb>0)
    error('Unvalid interval');
end
mean=(a+b)/2;
fmean=feval(f,mean);
plot(mean,fmean,'--mo');
if(abs(fmean)<=Eps)
    rad=mean;
    return;
else
    it=it+1;
    if(it==maxit)
        rad=mean;
        warning('Reached maxit but precision is greater than epsilon');
        return;
    end
    if(fa*fmean<0)
        [rad,it]=bisect(f,a,mean,Eps,it,maxit);
    else
        [rad,it]=bisect(f,mean,b,Eps,it,maxit);
    end
end
end

上述函数应该使用二分法计算函数的根,并绘制函数和中间结果。

出于某种原因,它现在没有绘制任何东西,但之前正在密谋。我刚在每个return语句之前添加了figure();并再次将其删除。现在它不再绘制,即使我关闭了Matlab或重新启动系统。

0 个答案:

没有答案