策划同情结果在python中

时间:2015-05-08 19:22:08

标签: 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])
>>> {b1:29.3930964972769,b2:0.327159886574049}

如何使用这些结果绘制受这些值约束的S形曲线。 Y轴的范围为0到1. x1,y1和x2,y2是该曲线上的2个点。

2 个答案:

答案 0 :(得分:4)

使用最新版本的sympy和ipython

d:\qtproject\new123\mainwindow.h:31: error: C2059: syntax error : 'public'

输出数字: enter image description here

答案 1 :(得分:3)

据称,Sympy拥有自己的绘图功能,但我无法通过他们的手册获得它。我不是一个热心的用户。

但是这里有一个关于如何使用numpymatplotlib

的版本
  • 定义您的功能,以便它可以作用于np.array
  • 在某些范围“x”
  • 中均匀分布点数
  • 使用您的功能“y”
  • 对这些点采取行动
  • 在这些点“y”

    中绘制一组均匀间隔的点“x”与函数值
    import numpy as np
    import matplotlib.pyplot as plt
    
    def f(a):
       c1 = 0.327159886574049
       c2 = 29.3930964972769
       return a/(a+np.exp(c1-c2*a))
    
    x = np.linspace(0, 1, 500)
    y = f(x)
    plt.plot(x,y)
    plt.show()
    

你应该得到这样的东西:

enter image description here