Построение гиперболы с матплотлибом - PullRequest
0 голосов
/ 19 февраля 2020

Мне нужно построить гиперболу типа (ya x) (yb x) = - 1 с помощью matplotlib, я попытался express 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 ^ (аb) 10 ^ (c -d))}] $$

1 Ответ

1 голос
/ 19 февраля 2020

С sympy , Python символьной библиотекой c, основанной на matplotlib для прямой plot неявной кривой.

from sympy import plot_implicit, Eq
from sympy.abc import x, y

a = -1
b = 3
plot_implicit(Eq((y - a * x) * (y - b * x), -1), (x, -10, 10), (y, -10, 10))

enter image description here

Другое уравнение можно построить следующим образом при условии, что вы переименуете x в r и получите интересные значения для параметров и пределов.

from sympy import plot_implicit, Eq, log
from sympy.abc import x, y

a = ...
b = ...
c = ...
d = ...
eq1 = Eq ((y- log(x**a * 10**c))*(x-log(x**b * 10*d)), -1)
plot_implicit(eq1, (x, -100, 100), (y, -100, 100))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...