如何数值求解 "hanging cable problem" 中的比例因子
How to numerically solve for the scaling factor in the "hanging cable problem"
一道关于“悬索问题”的数学题,其中一根索以悬链线的形式从两根杆子上垂下来。给定电缆的长度,有解决下垂和极间距离的解决方案,但我的问题是不同的;给定已知的等高杆和它们之间的已知距离,电缆与地面相切:我想求解悬链线方程中的比例因子 a?
显然这只能通过数值求解 - 可以在 R 中完成吗?
uniroot 函数查找函数的根所在的位置,因此您可以在函数 cat.fit
上使用它来计算 x=5 处的函数值与目标 (1) 之间的差值.
catenary <- function(a,x){a*cosh(x/a)-a}
cat.fit <- function(a)(catenary(a,5) - 1)
uniroot(cat.fit, interval=c(10,100))
# $root
# [1] 12.66327
# $f.root
# [1] -2.101562e-06
# $iter
# [1] 7
# $init.it
# [1] NA
# $estim.prec
# [1] 6.103516e-05
在这种情况下,a
的值为 12.7
一道关于“悬索问题”的数学题,其中一根索以悬链线的形式从两根杆子上垂下来。给定电缆的长度,有解决下垂和极间距离的解决方案,但我的问题是不同的;给定已知的等高杆和它们之间的已知距离,电缆与地面相切:我想求解悬链线方程中的比例因子 a?
显然这只能通过数值求解 - 可以在 R 中完成吗?
uniroot 函数查找函数的根所在的位置,因此您可以在函数 cat.fit
上使用它来计算 x=5 处的函数值与目标 (1) 之间的差值.
catenary <- function(a,x){a*cosh(x/a)-a}
cat.fit <- function(a)(catenary(a,5) - 1)
uniroot(cat.fit, interval=c(10,100))
# $root
# [1] 12.66327
# $f.root
# [1] -2.101562e-06
# $iter
# [1] 7
# $init.it
# [1] NA
# $estim.prec
# [1] 6.103516e-05
在这种情况下,a
的值为 12.7