首页 > 解决方案 > 在Matlab中用二分法求解方程

问题描述

我想创建一个使用二分法求解方程的函数,但我得到的只是错误的答案:

%declaire function
function c=dichotomie(f,a,b,n)
fa=f(a);
fb=f(b);
error=abs(fa-fb);
while(error<n )
         if(fb==0)
         c=fb;
         elseif(fa==0)
          c=fa;
          break;
         elseif(fa<0)
        fb=f(c);
        elseif(fb<0)
        fa=f(c);
    end
    c=(a+b)/2; 
   error=abs(fa-fb);
         end
end
%call the function
syms x
f=inline('x+1');
m=-1;s=3;l=0.1;
D=dichotomie(f,m,s,l);
D

标签: matlab

解决方案


推荐阅读