Решите алгебраическое уравнение с операциями - PullRequest
0 голосов
/ 30 апреля 2019

Есть ли практическое решение для следующего уравнения с симпой или костью?До сих пор я пробовал numy and sympy.

from sympy import *
from sympy.solvers.solveset import linsolve

sig = symbols(['sig'])

result = linsolve([(sig * -3) + ((1 - sig) * 1) == (sig * 2) + ((1 - sig) * 0)], sig)

Этот код возвращает ошибку: TypeError: unsupported operand type(s) for -: 'int' and 'list'

Ответы [ 2 ]

1 голос
/ 30 апреля 2019

Я думаю, что у вас неправильный синтаксис для linsolve, это работает:

sig = symbols(['sig'])

result = linsolve([(sig * -3) + ((1 - sig) * 1) - (sig * 2) - ((1 - sig) * 0)], sig)
0 голосов
/ 03 мая 2019

Предполагая, что вас интересует только решение уравнения с симпатией или недопустимостью и не обязательно ограничивать себя linsolve, вот рабочий код.

from sympy import *
sig = symbols('sig')
eq = Eq((sig * (-3)) + ((1 - sig) * 1), (sig * 2) + ((1 - sig) * 0))
solveset(eq, sig)

Одна проблема с вашим кодом состоит в том, что возвращаемое значение символов (['sig']) - это не символьный объект Sympy, а python список , содержащий один такой объект, поэтому вы не можете использовать его для построения Симпатичные выражения.

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