二分法求方程的实根
二分法求方程的实根 一:实验目的
3,xy,x,e通过编程实现二分法,并利用所编程序求函数在(0,1)的近似解,然后比较和计
算器所求的结果,从理性和实践上认识两种计算方法。
二:基本原理
连续函数的零点定理
1、假定f(x)在区间(x,y)上连续 , 先找到a、b属于区间(x,y),使f(a),f(b)异号,说
明在区间(a,b)内一定有零点,然后求f[(a+b)/2]。
2、假设f(a)<0,f(b)>0,a0
否
计算最多二分次数max1
计算c=(a+b)/2, fc
是
fc=0
否
是fb*fc>0
否
(3)、在Matlab命令窗口键入:[c,err,yc]=bisect(‘f’,0,1,0.005)
(4)、得出结果,并与计算器所得结果比较分析误差。
b=c,a=aa=c,b=b
四:二分法源代码
function[c,err,yc]=erfen(f,a,b,delta)
否ya=feval(f,a);
|a-b|<=0.0005yb=feval(f,b);
if ya*yb>0,return,end
是max1=1+round((log(b-a)-log(delta))/log(2));
for k=1:max1 结束
c=(a+b)/2;
yc=feval(f,c);
if yc==0
a=c;
b=c;
elseif yb*yc>0
b=c;
yb=yc;
else a=c;
ya=yc;
end
if b-a