给定两个值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)