懸垂線(改訂版) (3回目)

2025/7/26(土)
懸垂線(改訂版) (3回目)
 
(catenary)
懸垂線(カテナリー、紐を垂らしたときの曲線)
 
前提
 定義
g  :重力加速度[m/s2]
ρ :紐の線密度[kg/m]
H  :水平張力[N] (紐の頂点での張力)
y  :紐の高さ[m] (紐の左端を原点とするxの関数)
 
 微分方程式
λ = H/(ρg) と置く
y" = (1/λ)(1 + y'2)
 
▼ 問題
x0 :紐の底のx座標[m]
 
(1) y(x) を g,ρ,x0,H,x で表せ
 
(1)yの導出2(微分方程式を解く)
 定義
x = loge y = log y、y = ex = exp(x)とする
 
 積分
∫{1/(1+x2)}dxを解く
 
x = tanθと置く
dx/dθ = (d/dθ)tanθ = (d/dθ){sinθ/cosθ}
= {(d/dθ)sinθ}/cosθ + sinθ{(d/dθ)(cosθ)-1}
= 1 + sinθ(-sinθ)(-1/cos2θ) = (cos2θ + sin2θ)/cos2θ
= 1/cos2θ
dx = (1/cos2θ)dθ
 
1+tan2θ = (cos2θ + sin2θ)/cos2θ = 1/cos2θ
を使って
∫{1/(1+x2)}dx
= ∫{1/(1+tan2θ)}(1/cos2θ)dθ
= ∫{1/(1/cos2θ)}(1/cos2θ)dθ
= (cosθ/cos2θ)dθ
= (1/cosθ)dθ
 
t = sinθと置く
dt/dθ = cosθ
= (1/cosθ)dt
(1/cosθ)dθ = (1/cos2θ)dt = (1/(1-sin2θ)dt
= {1/(1-t2)}dt
 
1/(t+1) - 1/(t-1) = 1/(1+t) + 1/(1-t)
= {(1-t)+(1+t)}/{(1+t)(1-t)} = 2/{(1+t)(1-t)}
= 2/(1-t2)より
 
{1/(1-t2)}dt
= (1/2){1/(t+1) - 1/(t-1)}dt
= (1/2)(log|t+1| - log|t-1|) + C
= (1/2)log(|t+1|/|1-t|) + C
= (1/2)log(|sinθ+1|/|1-sinθ|) + C
= (1/2)log{(sinθ+1)2/(12-sin2θ)} + C
= (1/2)log{(sinθ+1)2/cos2θ} + C
= log|(sinθ+1)/cosθ| + C
= log|(sinθ/cosθ + 1/cosθ| + C
= log|tanθ + √(1/cos2θ)| + C
= log|tanθ + (1+tan2θ)| + C
= log|x + (1+x2)| + C
よって
 
∫{1/(1 + x2)}dx = log|x + (1 + x2)| + C  … ①
 
 双曲線関数(ハイパボリック)
cosh(x) = {exp(x) + exp(-x)}/2
sinh(x) = {exp(x) - exp(-x)}/2
と定義される
 
{cosh(x)}' = {exp(x) - exp(-x)}/2 = sinh(x)
{sinh(x)}' = {exp(x) + exp(-x)}/2 = cosh(x)
 
sinh(-x) = {exp(-x) - exp(x)}/2 = -sinh(x)
cosh(-x) = {exp(-x) + exp(x)}/2 =  cosh(x)
 
 微分方程式を解く
y" = (1/λ)(1 + y'2)
 
を変形して
(d/dx)y' = (1/λ)(1 + y'2)
dy' / (1 + y'2) = (1/λ)dx
 
両辺積分して
∫{1/(1 + y'2)}dy' = (1/λ)dx
①を使って
log|y' + (1 + y'2)| = (1/λ)x + A
y' + (1 + y'2) = exp(x/λ + A)
(1 + y'2) = exp(x/λ + A) - y'
1 + y'2 = {exp(x/λ + A) - y'}2 
= exp(x/λ + A)2 - 2y'exp(x/λ + A) + y'2 
2y'exp(x/λ + A) = exp(x/λ + A)2 - 1
y' = {exp(x/λ + A) - exp(- - A)}/2
= sinh(x/λ + A)
 
y' = sinh(x/λ + A)  … ➁
 
➁を積分して
y = y'dx = sinh(x/λ + A)dx = λcosh(x/λ + A) + B
y = λcosh(x/λ + A) + B  … ③
(式③を微分すると式➁になっている)(A,Bは積分定数)
 
 積分定数の決定
紐の底は水平なので
y'(x) = sinh(x/λ + A)
y'(x0) = sinh(x0/λ + A) = 0
より
x0/λ + A = 0
A = -x0/λ
より
y(x) = λcosh(x/λ + A) + B = λcosh(x/λ - x0/λ) + B
y'(x) = sinh(x/λ + A) = sinh(x/λ - x0/λ)
 
紐の左端の座標より
y(x) = λcosh(x/λ - x0/λ) + B
y(0) = λcosh(0/λ - x0/λ) + B = 0
B = -λcosh(-x0/λ) = -λcosh(x0/λ)
より
y(x) = λ{cosh(x/λ - x0/λ) - cosh(x0/λ)}
 
 
結果
 定義
g  :重力加速度[m/s2]
ρ :紐の線密度[kg/m]
x0 :紐の底のx座標[m]
H  :水平張力[N] (紐の頂点での張力)
y  :紐の高さ[m] (紐の左端を原点とするxの関数)
y' :紐の傾き
 
 懸垂線
λ = H/(ρg) と置く
y(x) = λ{cosh(x/λ - x0/λ) - cosh(x0/λ)}
y'(x) = sinh(x/λ - x0/λ)
 

このブログの人気の投稿

NEWS

N88-BASICでゲーム (1回目)

d88ファイルの変換 (1回目)