Невозможно получить упрощенные координаты, используя sympy - python - PullRequest
2 голосов
/ 11 июня 2019

У меня есть значения x2, x3, y2, y3, d1, d2, d3,

x2 = 0
x3 = 100
y2 = 0
y3 = 0
d1 = 100
d2 = 100
d3 = 87

Когда я использую приведенный ниже скрипт,

from sympy import symbols, Eq, solve
x, y = symbols('x y')
eq1 = Eq((x - x2) ** 2 + (y - y2) ** 2 - d2 ** 2)
eq2 = Eq((x - x3) ** 2 + (y - y3) ** 2 - d3 ** 2)

sol_dict = solve((eq1, eq2), (x, y))

Я получил ответ как,

sol_dict = [(12431/200, -87*sqrt(32431)/200), (12431/200, 87*sqrt(32431)/200)]

Как мне добиться упрощенного решения, такого как

sol_dict = [(62.155, -78.33), (62.155, 78.33)]

в питоне?

1 Ответ

3 голосов
/ 12 июня 2019

Вы можете численно оценить решение, чтобы получить поплавки:

In [40]: [[x.evalf(3) for x in s] for s in sol_dict]                                                                              
Out[40]: [[62.2, -78.3], [62.2, 78.3]]

Я бы порекомендовал сделать это только для отображения. Если вы хотите использовать значения в sol_dict для дальнейших вычислений, лучше сохранить их как точные рациональные числа.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...