我如何在 R 中实现这个功能?

tim*_*345 1 algorithm r function

这是我需要在 R 中创建的函数我 在第一部分使用了 ifelse,但我不太确定如何在分段函数中输入三个方程中的第三个

这是我需要在 R 中创建的函数

All*_*ron 5

就个人而言,我会避免ifelse在这里使用,因为该函数是递归的。它需要为原子情况定义,然后向量化:

g <- function(x, alpha= 0.001) {
  
  g_single <- function(x, alpha) {
    if(x <= 10^-4) return(0)
    if(x >= 0.5) return(1 - g_single(1 - x, alpha))
    return(2^alpha * x^(1 + alpha))
  }
  
  sapply(x, g_single, alpha = alpha)
}

g(runif(10))
#> [1] 0.7320931 0.9902868 0.8253122 0.5982243 0.2137887 0.6439024
#> [7] 0.8232719 0.3756205 0.2926292 0.4411532
Run Code Online (Sandbox Code Playgroud)