% Hanging cable problem d0 = input('Enter distance between supports (try 100) '); h0 = input('Enter sag height of cable (try 10) '); f = @(lambda,h,d) lambda*cosh(d/2/lambda) - lambda - h; F = @(lambda) f(lambda,h0,d0); guess = d0^2/(8*h0); % Try secant method to find lambda lambda = secant(F,guess, guess*1.1, 1e-5, 15, true) % Try it using Matlab's fzero lambda = fzero(F, guess) % Now find arc length using exact formula for integral arc_length = 2 * lambda * sinh(d0/(2*lambda))