给定两个值x和b,我想要一个函数钳位x在[-b, b]. 尤其是:
- 如果
x小于或等于-b,则函数返回-b; - 如果
x大于-b和小于b,则函数返回x; - 如果
x大于或等于b,则函数返回b。
在 RI 中写了以下函数truncfn。此功能仅部分有效。我在哪里犯错了?有没有更简单的方法来做到这一点?
b <- 5
truncfn <- function(x){
if((x<(-b))||(x==-b)) -b
if((x>(-b))&&(x<b)) x
if((x>b)||(x==b)) b
}
truncfn(10)
5
truncfn(4)
truncfn(-10)