Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/310.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 用matplotlib绘制双曲线_Python_Matplotlib - Fatal编程技术网

Python 用matplotlib绘制双曲线

Python 用matplotlib绘制双曲线,python,matplotlib,Python,Matplotlib,我需要用matplotlib绘制一条(y-ax)(y-bx)=-1类型的双曲线,我试图表达y(x),但它给出了一个带有不可能值的sqrt。如何将要打印的值指定给y? 我要绘制的函数是 $$(y-\log(r^a 10^c))(y-\log(r^b10^d))=-1$$ 我“可以”重写为 $$y=1/2[log(r^(a+b)10^(c+d))\pm\sqrt{-4+\log^2(r^(a-b)10^(c-d))}]$$带有Python的符号数学库,它构建在matplotlib上,直接生成隐式曲线

我需要用matplotlib绘制一条(y-ax)(y-bx)=-1类型的双曲线,我试图表达y(x),但它给出了一个带有不可能值的sqrt。如何将要打印的值指定给y? 我要绘制的函数是
$$(y-\log(r^a 10^c))(y-\log(r^b10^d))=-1$$
我“可以”重写为
$$y=1/2[log(r^(a+b)10^(c+d))\pm\sqrt{-4+\log^2(r^(a-b)10^(c-d))}]$$

带有Python的符号数学库,它构建在matplotlib上,直接生成隐式曲线

从sympy导入绘图\u隐式,等式
从sympy.abc导入x,y
a=-1
b=3
图u隐式(等式((y-a*x)*(y-b*x),-1),(x,-10,10),(y,-10,10))

如果您将
x
重命名为
r
,并对参数和限制具有有趣的值,则另一个方程可以绘制如下

从sympy导入绘图\u隐式、等式、日志
从sympy.abc导入x,y
a=。。。
b=。。。
c=。。。
d=。。。
eq1=Eq((y-log(x**a*10**c))*(x-log(x**b*10*d)),-1)
图_隐式(eq1,(x,-100100),(y,-100100))

检查此帖子@Vlad仍然在sqrt中遇到无效值。我的实际函数是$(y-\log(r^a 10^c))(y-\log(r^b10^d))=-1$,我将在正文中添加它,同时添加y(r)