Boundary conditions for Catenary (hanging cable), solve for 3 unknown constants (c1 c2 c3)

10 views (last 30 days)
The way my book has the derivation is as follows
linear density, S = arc length
g = gravity
= constant tension
= this becomes a constant it defines as .
=> .
ds = =
Squaring both sides :
Differentiating implicitly this becomes
This equation is true if
y'' = 0 can be solved by y = ax + b. Now i solve with u = y'
then A is renamed as and we have
and y' = u then y is a generalized hyperbolic cosine:
I must now solve for these 3 c's using matlab.
The catenary must pass through the point (0,H).
The catenary must pass through the point (D,0).
The arc length of the catenary is L
I have to write this in terms of
i have alreay figured out F3 in my matlab script, F1 and F2 is what i tried writing as an equation for the above:
I = imread('free.jpg');
L = [0.1384,2.67]; %(x,y) coordinate of left endpoint of cable
R = [5.644,1.62]; %(x,y) coordinate of right endpoint of cable
len = 6.38; %length of cable
%Show image and indicate endpoints
imagesc([0,5.7736],[0,3.2477],flipud(I));set(gca,'YDir','normal');
axis equal; ylim([[0,3.2477]]); xlim([0,5.7736]); box on; hold on;
xlabel('$x$ (meters)','interpreter','latex'); ylabel('$y$ (meters)','interpreter','latex');
plot(L(1),L(2),'o','MarkerEdgeColor','b','MarkerFaceColor','b','MarkerSize',8);
plot(R(1),R(2),'o','MarkerEdgeColor','b','MarkerFaceColor','b','MarkerSize',8);
%Define system of 3 equations to solve (c is vector containing 3 unknowns)
% Set F1 to be the function that guarantees the left endpoint boundary condition.
F1 = @(c) (cosh((L(1)))) %<---HERE %%Catenary passes through left endpoint
% Set F2 to be the function that guarantees the right endpoint boundary condition.
F2 = @(c) (cosh((R(1)))) %%< ----HERE Catenary passes through right endpoint
F3 = @(c) c(2)*(sinh((R(1)-c(1))/c(2))-sinh((L(1)-c(1))/c(2))) - len; %Arc length is constant value len
cOut = fsolve(@(c) [F1(c);F2(c);F3(c)],[-1,1,1]); %[-1,1,1] is initial guess for [c(1),c(2),c(3)]
%negative sign ensures that we choose the lower of two possible catenarys
But i get the error of:
fsolve stopped because the
problem appears regular as measured by the gradient,
but the vector of function values is not near zero as measured by the
value of the
I thought to just get the left or right side where its (0, H) and (D, 0) you'd just use the generalized hyperbolic equation only inputing one side at a time....

Accepted Answer

Torsten
Torsten on 3 Mar 2022
Edited: Torsten on 3 Mar 2022
The equations "fsolve" must solve for c are
(1) c(3) + c(2)*cosh((L(1)-c(1))/c(2)) - L(2) = 0
(2) c(3) + c(2)*cosh((R(1)-c(1))/c(2)) - R(2) = 0
(3) integral(@(x)sqrt(1+(sinh((x-c(1))/c(2))).^2),L(1),R(1)) - len = 0
The indefinite integral can be given analytically as
-c(2)*sqrt(1+(sinh((x-c(1))/c(2)))^2) * tanh((c(1)-x)/c(2))
Thus equation (3) can also be written as
(3') -c(2)*sqrt(1+(sinh((R(1)-c(1))/c(2)))^2) * tanh((c(1)-R(1))/c(2)) -
(-c(2)*sqrt(1+(sinh((L(1)-c(1))/c(2)))^2) * tanh((c(1)-L(1))/c(2))) - len = 0

More Answers (0)

Categories

Find more on Programming in Help Center and File Exchange

Products


Release

R11.1

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!