format long xu=2; xl=0.5; tolerance=0.0001; err=1; fxl=xl^3+4*xl^2-10; fxu=xu^3+4*xu^2-10; xr=xl-fxl*(xu-xl)/(fxu-fxl); fxr=xr^3+4*xr^2-10; while (err > tolerance) if (fxl*fxr<0) %root in lower interval %change upper limit xu=xr; fxu=xu^3+4*xu^2-10; else %root in upper interval %change lower limit xl=xr; fxl=xl^3+4*xl^2-10; end oldxr=xr; xr=xl-fxl*(xu-xl)/(fxu-fxl) fxr=xr^3+4*xr^2-10; err=abs((xr-oldxr)/xr)*100; end root=xr