二分法是计算机求解方程的常用算法,很容易在matlab中实现。
%计算f(x)= 0的近似解,容差为tol
fuction xc = bisec(f,a,b,tol)if sign(f(a))*sign(f(b)) >= 0
error('f(a)f(b)<0 not satisfied!')
end
fa = f(a);
fb = f(b);
while (b-a)/2 > tol
c = (a+b)/2;
fc = f(c);
if fc == 0
break
end
if sign(fa)*sign(fb)<0
b=c;fb = fc;
else
a = c;fa = fc;
end
end
xc = (a+b)/2
在matlab中首先要在命令行中键入:
f = @(x) x^3+x-1