use*_*827 3 python matplotlib sympy
我正在使用sympy解决b1和b2:
y=x/[x+exp(b1-b2*x)]
x1 = 90; y1 = 0.05 and x2=99;y2=0.95
import sympy
b1,b2 = symbols('b1 b2')
solve([Eq(90*0.05+90*exp(b1-(b2*90))-90, 0.0), Eq(99*0.95+99*exp(b1-(b2*99))-99, 0.0)], [b1, b2])
Run Code Online (Sandbox Code Playgroud)
>>> {b1:29.3930964972769,b2:0.327159886574049}
Run Code Online (Sandbox Code Playgroud)
如何使用这些结果绘制受这些值约束的S形曲线。Y轴的范围是0到1。x1,y1和x2,y2是该曲线上的2个点。
使用最新版本的sympy和ipython
In [1]: from sympy import *
In [2]: x, b1, b2 = symbols("x b1 b2")
In [3]: f = x/(x+exp(b1-b2*x))
In [4]: res = {b1:29.3930964972769,b2:0.327159886574049}
In [5]: plot(f.subs(res), (x, 0, 100))
Run Code Online (Sandbox Code Playgroud)
随着输出图: