g=9.81; v=40; m=68.1; t=10; %initial guesses xL=12; xU=17; xR=(xL+xU)/2; tolerance=0.00001; err=1; %bisecting loop while (err>tolerance) %bisecting xRold=xR; fL=v-(g*m/xL)*(1-exp(-g*xL*t/m)); fR=v-(g*m/xR)*(1-exp(-g*xR*t/m)); if (fL*fR<0) xU=xR; else xL=xR; end xR=(xL+xU)/2; err=abs((xR-xRold)/xR)*100; end root=xR