求有效的非线性函数

来源:百度知道 编辑:UC知道 时间:2024/06/30 18:04:29
已知x在[min,max]上有定义,其中min, max都是实数,寻找函数f(x),使得:
(1)f(min)=0;
(2)f(max)=1;
(3)在定义域中的x,满足f(min)<=f(x)<=f(max)
(4)f(x)严格单调递增,即如果x1<x2,则f(x1)<f(x2)
(5)f(x)是非线性的
(6)已知有多个数x1,x2,...,xn,这些数多取值在(min+max)/2,那么f(xi)的值应该比较均匀的分布在0和1之间.即x的取值概率取中值较大,映射后的f(xi)要求改变一下,使之变得均匀一些.
(7)f(x)在满足前6条的前提下越简单越好.
请高手给一些提示或解答.

(1)f(min)=0;
(2)f(max)=1;
(3)在定义域中的x,满足f(min)<=f(x)<=f(max)
(4)f(x)严格单调递增,即如果x1<x2,则f(x1)<f(x2)
(5)f(x)是非线性的

说明你想要一个单调增的非线性函数,

6)已知有多个数x1,x2,...,xn,这些数多取值在(min+max)/2,那么f(xi)的值应该比较均匀的分布在0和1之间.
也就是说在(min+max)/2附近比较平坦,也就是导数的绝对值比较小对把,最好是0,这样的很多啊
比如(x^3+1)/2
在正负1之间啊,你也可以用(x^(2k+1)+1)/2 k越大,在0附近越平坦

a = (min + max)/2, b=10^(-u), c=10^(-v). 其中u,v为正整数。

min<=x<a-b, f(x)=c(x-min)/(a-b-min).
a-b<=x<a+b, f(x)=c+(1-2c)(x-a+b)/(2b).
a+b<=x<=max,f(x)=1-c+c(x-a-b)/(max-a-b).

f(x)分段线性。
在【min,a-b】上由0严格单调递增至c.[u越大,b越小。v越大,c越小]
在【a-b,a+b】上由c严格单调递增至1-c.
在【a+b,max】上由1-c严格单调递增至1.

根据需要调整u,v的值。
这样,当x1,x2,...,xn中的多数在[a-b,a+b] 上时,相应的f(x1),f(x2),...,f(xn)中的多数均匀分部在【c,1-c】上。

难做