如何在 R 中反转反双曲正弦变换?
How to reverse inverse hyperbolic sine transformation in R?
使用反双曲正弦变换的变换可以在 R 中使用这个简单的函数完成:
ihs <- function(x) {
y <- log(x + sqrt(x ^ 2 + 1))
return(y)
}
但是,我找不到扭转这种转变的方法。所以我的问题是:如何在 R 中反转反双曲正弦变换?
反双曲正弦的倒数是双曲正弦所以你可以使用:
sinh(x)
如果你想自己反转函数,那应该对你有帮助:
hs <- function(x) {
y <- 0.5*exp(-x)*(exp(2*x)-1)
return(y)
}
@Maju116 给出了正确的答案,但他没有展示他的作品。 :-)
这里是如何推导反双曲正弦函数的反函数以及完整的 R 解来生成函数和绘图。
y = \log(x + \sqrt{x^2 + 1})
\exp(y) - x = \sqrt{x^2 + 1}
Squaring both sides
\exp(2y) + x^2 - 2\exp(y)x = x^2 + 1
\exp(2y) - 1 = 2\exp(y)x
(1/2)*(\exp(2y) - 1)/exp(y) = x
函数图:
library(ggplot2)
# inverse hyperbolic since function
ihs <- function(x) {
y <- log(x + sqrt(x^2 + 1))
return(y)
}
# hyperbolic sine function
hs = function(x) {
0.5*exp(-x)*(exp(2*x) - 1)
}
# data
dfX = data_frame(x = seq(-2, 2, 0.01),
ihs = ihs(x),
hs1 = sinh(x),
hs2 = hs(x))
# plot
ggplot(data = dfX, aes(x = x)) +
stat_function(aes(color = "Inverse Hyperbolic Sine"), fun = ihs, ) +
stat_function(aes(color = "Hyperbolic Sine (Manual)"), fun = hs) +
stat_function(aes(color = "Hyperbolic Sine (Base)"), fun = sinh) +
theme_bw() +
scale_colour_manual("Function", values = c("red", "darkblue", "darkgreen"))][1]][1]
使用反双曲正弦变换的变换可以在 R 中使用这个简单的函数完成:
ihs <- function(x) {
y <- log(x + sqrt(x ^ 2 + 1))
return(y)
}
但是,我找不到扭转这种转变的方法。所以我的问题是:如何在 R 中反转反双曲正弦变换?
反双曲正弦的倒数是双曲正弦所以你可以使用:
sinh(x)
如果你想自己反转函数,那应该对你有帮助:
hs <- function(x) {
y <- 0.5*exp(-x)*(exp(2*x)-1)
return(y)
}
@Maju116 给出了正确的答案,但他没有展示他的作品。 :-)
这里是如何推导反双曲正弦函数的反函数以及完整的 R 解来生成函数和绘图。
y = \log(x + \sqrt{x^2 + 1})
\exp(y) - x = \sqrt{x^2 + 1}
Squaring both sides
\exp(2y) + x^2 - 2\exp(y)x = x^2 + 1
\exp(2y) - 1 = 2\exp(y)x
(1/2)*(\exp(2y) - 1)/exp(y) = x
函数图:
library(ggplot2)
# inverse hyperbolic since function
ihs <- function(x) {
y <- log(x + sqrt(x^2 + 1))
return(y)
}
# hyperbolic sine function
hs = function(x) {
0.5*exp(-x)*(exp(2*x) - 1)
}
# data
dfX = data_frame(x = seq(-2, 2, 0.01),
ihs = ihs(x),
hs1 = sinh(x),
hs2 = hs(x))
# plot
ggplot(data = dfX, aes(x = x)) +
stat_function(aes(color = "Inverse Hyperbolic Sine"), fun = ihs, ) +
stat_function(aes(color = "Hyperbolic Sine (Manual)"), fun = hs) +
stat_function(aes(color = "Hyperbolic Sine (Base)"), fun = sinh) +
theme_bw() +
scale_colour_manual("Function", values = c("red", "darkblue", "darkgreen"))][1]][1]