v=5; t=3; L=5; g=9.81; tolerance = 1e-5; rel_error = 1; %initial guesses xl = 0.01; xu = 10; fxu = v/sqrt(2*g*xu) - tanh (t/(2*L)*sqrt(2*g*xu)); fxl = v/sqrt(2*g*xl) - tanh (t/(2*L)*sqrt(2*g*xl)); xr = xu - fxu*(xl-xu)/(fxl-fxu); fxr = v/sqrt(2*g*xr) - tanh (t/(2*L)*sqrt(2*g*xr)); while (rel_error > tolerance) if (fxl*fxr<0) xrold = xr xu = xr; fxu = v/sqrt(2*g*xu) - tanh (t/(2*L)*sqrt(2*g*xu)); xr = xu - fxu*(xl-xu)/(fxl-fxu); fxr = v/sqrt(2*g*xr) - tanh (t/(2*L)*sqrt(2*g*xr)); rel_error =abs((xr - xrold)/xr)*100; else xrold = xr xl = xr; fxl = v/sqrt(2*g*xl) - tanh (t/(2*L)*sqrt(2*g*xl)); xr = xu - fxu*(xl-xu)/(fxl-fxu); fxr = v/sqrt(2*g*xr) - tanh (t/(2*L)*sqrt(2*g*xr)); rel_error =abs((xr - xrold)/xr)*100; end end root = xr