Re: caternary equation and three points... please explain

From: David W. Cantrell (DWCantrell_at_sigmaxi.org)
Date: 02/28/05


Date: 28 Feb 2005 01:47:57 GMT

Lynn Kurtz <kurtzDELETE-THIS@asu.edu> wrote:
> On 4 Nov 2004 22:46:38 GMT, israel@math.ubc.ca (Robert Israel) wrote:
>
> >In article <2uvlq0F2fpp19U1@uni-berlin.de>, Sam <samgerhardt@xmsnx.com>
> >wrote:
> >>using the caternary equation y = a * cosh( x / a) + b
> >
> >That's "catenary".
> >
> >>I am supposed to find the equation for the caternary that passes
> >>through the three points (-140, 80), (0, 30), and (140, 80). I
> >>understand the + b is just a vertical shift, but how do you solve for
> >>the rest?
> >
> >There is no closed-form solution AFAIK, but it can be done numerically.
>
> Also note the first and third points are redundant given the symmetry.
> I get f(x) = 203.8277614 cosh(0.004906103041 x) - 173.8277614.

This seems like a classic question and so, though quite belatedly,
I looked for a nice closed form approximation. My result is a Pade
approximation.

The crux of the problem, at least as I approached it, is to invert the
function f(a) = a (cosh(x/a) - 1). Crudely, an approximate solution of
a (cosh(x/a) - 1) = c is a = x^2/(2c). This simple approximation can be
improved substantially by multiplying it by even rational functions,
homogeneous in x and c. For example,
(Please view in a fixed-width font.)

        2 4 2 2 4
       x (29295 x + 53025 c x + 17032 c )
 a = ----------------------------------- (*)
                   4 2 2 4
       2 c (29295 x + 43260 c x + 7820 c )

To illustrate using this approximation, we consider the specific problem
posed by Sam, for which we have

 30 = a cosh(0/a) + b and
 80 = a cosh(140/a) + b.

Subtracting the first from the second equation, we get

 50 = a (cosh(140/a) - 1).

Then using (*), putting x = 140 and c = 50, we have approximately

   a = 13679469356/67112911 = 203.827686...

[Compare that with Lynn's a = 203.8277614 .]

Finally, b = 30 - a = -173.827686... approximately.

Note that approximation (*) does not work well when c/x is large, in which
case a different sort of approximation (perhaps using logarithms or the
Lambert W function) would be appropriate.

David W. Cantrell