仅使用 min 和 max 函数来约束值的计算

计算科学 特殊功能
2021-12-14 06:35:59

我有一个可以从 0.0000001 到无限的 X 值。
我想要,如果这个值小于 0.8,得到 0.8
如果那个值等于或大于 0.8,得到 0

您将如何仅使用 min 和 max 函数(当然还有基本的 +-/x 操作)来做到这一点?

我问这个是因为我必须在一个不接受/解释 IF 语句的自定义软件中计算这个,并且出于所问问题的目的,它支持 MIN 和 MAX 函数。

2个回答

诀窍是注意到|x|=max(x,0)min(x,0). 有了这个,很容易得到你要求的函数,

f(x)=0.4(1x0.8max(x0.8,0)min(x0.8,0))

我有一个答案,但它可能没有用,具体取决于你想用它做什么。

成为一些大参数,将非常接近您寻求的函数。的值才会不正确,我们可以通过增加 t 使近似值任意准确。tmin(max(t(0.8x),0),0.8)0.8