求一个合适的数学函数

312 天前
 nealot

这个函数满足以下特性

  1. 在 x >= 0 时是一个向下凸的单调递增函数 (类似二次函数)
  2. 经过 (0, 0) 点和 (t, 1) 点 (其中 t 是一个给定的参数, t > 0)
  3. 可以通过参数调整向下凸的程度
  4. 调整参数时,函数在 (0, 0) 处的导数在 (0, 1/t) 之间变化

y = k * x ^ a (k > 0, a > 1) 是一个简单的函数,可以满足前 3 点,但是可惜的是这个函数在 (0, 0) 处的导数始终是 0

请教一下,有哪些简单的函数可以同时满足以上 4 点呢?

1075 次点击
所在节点    程序员
9 条回复
NessajCN
312 天前
y=kx^a+px^(a-1) 就行了呀
或者你可以继续往后加+x^(a-2)....+x
GressJoe
312 天前
f(x) = 3 * (x/t)^2 - 2 * (x/t)^3 chatgpt 说的
rrfeng
312 天前
y = k * x ^ a

往左下平移一下不就行了……
leo108
312 天前
GPT 虽然数学不太行,但这道题还真答对了

y = a*x^2 + (1-a*t)*x ,其中 a ∈ (0, 1/t)

调整 a 即可实现下凸的程度变化以及 (0, 0) 处的导数
nealot
312 天前
@NessajCN px^(a-1) 不还是一个幂函数吗, x=0 处导数为零的性质变化了?
NessajCN
312 天前
@nealot y=kx^a+px
Champa9ne
312 天前
这是啥应用场景,一时之间也没想到。很好奇。
yxd19
311 天前
当 0\leq x \leq t 时:(x,y)满足隐函数:(x/t-x_c)^2+(y-y_c)^2=x_c^2+y_c^2
当 x \geq t 时,将曲线从(t, 1)点沿着斜率延伸为射线。
其中
x_c = k, y_c = 1 - k

k < 0 为参数。

说明:令 u=x/t, v=y ,则前一段曲线在 uv 平面上表示圆心为(x_c, y_c),过原点的圆弧。由于圆心在(0, 0)和(1,1)的垂直平分线(即 x_c+y_c=1 )上,所以圆弧也过(1,1)点。当圆心在(0,1)上时,圆弧是四分之一圆,圆弧在(0,0)点的斜率为 0 ,在(1,1)点的斜率为无穷大。当圆心在(0,1)上方,即 k < 0 时,圆弧的弧度小于四分之一圆,在两端点的斜率均为正。当 k 趋于负无穷时,圆弧退化为连接(0,0)和(1,1)的直线,斜率为 1 。将 uv 平面坐标变换为 xy 平面即为所求。
yxd19
311 天前
根据 y\leq y_c ,可以将隐函数变换为

y = y_c - \sqrt{- x^2/t^2 + 2 x_c x / t + y_c^2}

曲线在(t,1)处斜率为\frac {y_c} {-tx_c},直线方程为$y=-\frac{y_c} {tx_c} x + \frac{y_c}{x_c} + 1$

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/953719

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX