я хочу решить уравнения: x ** 2 * y ** 2 + x ** 2 -10 * x * y + 4 * y ** 2 + 9.0 = 0, есть ли способ получить реальные решения? - PullRequest
0 голосов
/ 03 октября 2018

Я пытаюсь использовать python для решения уравнений: x**2*y**2 + x**2 -10*x*y + 4*y**2 + 9.0=0, из-за уравнений, равных (x*y-3)**2+(x-2*y)**2=0, поэтому надеюсь получить реальное решение: x = 2*sqrt(3.0/2),y = sqrt(3.0/2)&& x = -2*sqrt(3.0/2),y = -sqrt(3.0/2) Есть ли способ получить это решение?

from sympy import *
x = symbols("x")
y = symbols("y")
expression = x**2*y**2 + x**2 - 10*x*y + 4*y**2 + 9
solve(expression,(x,y))

Приведенный выше код дает только решение: [((5*y + I*(-2*y**2 + 3))/(y**2 + 1), y), ((5*y + I*(2*y**2 - 3))/(y**2 + 1), y)], спасибо за помощь и советы

Ответы [ 2 ]

0 голосов
/ 10 октября 2018

Похоже, вы пытаетесь найти, где оба члена выражения (x*y-3)**2+(x-2*y)**2 одновременно равны нулю.Вместо того, чтобы расширить это, попросите решить для этого ответа:

>>> eq = (x*y-3)**2+(x-2*y)**2
>>> terms = eq.args
>>> solve(terms, x, y)
[(-sqrt(6), -sqrt(6)/2), (sqrt(6), sqrt(6)/2)]
0 голосов
/ 03 октября 2018

Вы можете использовать solveset_real (хотя точное уравнение может не иметь реальных решений)

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