@bobs32

Как упростить равенство, в котором переменная с обеих сторон?

Предположим, у нас есть равенство 'a=-2a+1'
нам надоо получить выражение а=1/3
но при написании такого кода
from sympy import *
from sympy import summation
import numpy as np
a, b, c = symbols('a b c')

a=2*a+1
print(a)

программа пишет 2*a + 1
как сделать так чтобы он полностью сокращал выражение?
p.s. пример очень упрощен, на практике там гораздо большие выражения
  • Вопрос задан
  • 192 просмотра
Решения вопроса 1
longclaps
@longclaps
Круто, чувак. В школе-то учился? Там не помню в каком классе начала алгебры. Уравнение, левая часть, правая, вся фигня.
А если не учился - не беда. Списывай:
from sympy import *

left, right, pln, a = symbols('left right pln a')
left = a
right = -2 * a + 1
pln = left - right
print(pln)                             # 3*a - 1
print(pln / polys.polytools.LC(pln))   # a - 1/3
print(solvers.solve(pln, a))           # [1/3]
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы