簡體   English   中英

如何逆轉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]

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM