Python 使用 sympy 求解三次方程
Python solve cubic equation using sympy
我在尝试使用 sympy
求解方程时遇到问题。
一些变量具有指定的特定值。
我正在尝试求解 b
、c
和 d
的方程式。
这是我的尝试:
from random import randint
import sympy
from sympy.abc import b,c,d,B,C,r,x
B=10
C=20
r=123
# Equation: x^3+b*x^2+c*x+d=x^3+(B−r)x^2+(C−B*r)x−C*r
equation = sympy.Eq(x**3+b*x**2+c*x+d,x**3+(B−r)*x**2+(C−B*r)*x−C*r)
print(sympy.solve(equation,"b"))
print(sympy.solve(equation,"c"))
print(sympy.solve(equation,"d"))
Python 向我打印以下错误:
[user@user Python Scripts]$ python polygen.py
File "polygen.py", line 10
equation = sympy.Eq(x**3+b*x**2+c*x+d,x**3+(B−r)*x**2+(C−B*r)*x−C*r)
^
SyntaxError: invalid character in identifier
我错过了什么?
你的 -
性格有问题。由于某种原因,它不是常规字符,python 无法识别它。我在我的机器上用连字符替换了你所有的减号并且它有效:
from random import randint
import sympy
from sympy.abc import b,c,d,B,C,r,x
B=10
C=20
r=123
# Equation: x^3+b*x^2+c*x+d=x^3+(B−r)x^2+(C−B*r)x−C*r
equation = sympy.Eq(x**3+b*x**2+c*x+d,x**3+(B-r)*x**2+(C-B*r)*x-C*r)
print(sympy.solve(equation,"b"))
print(sympy.solve(equation,"c"))
print(sympy.solve(equation,"d"))
我不确定错误的-
符号是什么字符:
a = 2−2
在我的机器上不工作
a = 2-2
但是
-
是减 −
不是。 in Python 对它们的解释不同,第一个编码为 u"\u002D"
但第二个编码为 u"\u2212"
显然它们不会做同样的事情。请务必使用数字键盘。
我在尝试使用 sympy
求解方程时遇到问题。
一些变量具有指定的特定值。
我正在尝试求解 b
、c
和 d
的方程式。
这是我的尝试:
from random import randint
import sympy
from sympy.abc import b,c,d,B,C,r,x
B=10
C=20
r=123
# Equation: x^3+b*x^2+c*x+d=x^3+(B−r)x^2+(C−B*r)x−C*r
equation = sympy.Eq(x**3+b*x**2+c*x+d,x**3+(B−r)*x**2+(C−B*r)*x−C*r)
print(sympy.solve(equation,"b"))
print(sympy.solve(equation,"c"))
print(sympy.solve(equation,"d"))
Python 向我打印以下错误:
[user@user Python Scripts]$ python polygen.py
File "polygen.py", line 10
equation = sympy.Eq(x**3+b*x**2+c*x+d,x**3+(B−r)*x**2+(C−B*r)*x−C*r)
^
SyntaxError: invalid character in identifier
我错过了什么?
你的 -
性格有问题。由于某种原因,它不是常规字符,python 无法识别它。我在我的机器上用连字符替换了你所有的减号并且它有效:
from random import randint
import sympy
from sympy.abc import b,c,d,B,C,r,x
B=10
C=20
r=123
# Equation: x^3+b*x^2+c*x+d=x^3+(B−r)x^2+(C−B*r)x−C*r
equation = sympy.Eq(x**3+b*x**2+c*x+d,x**3+(B-r)*x**2+(C-B*r)*x-C*r)
print(sympy.solve(equation,"b"))
print(sympy.solve(equation,"c"))
print(sympy.solve(equation,"d"))
我不确定错误的-
符号是什么字符:
a = 2−2
在我的机器上不工作
a = 2-2
但是
-
是减 −
不是。 in Python 对它们的解释不同,第一个编码为 u"\u002D"
但第二个编码为 u"\u2212"
显然它们不会做同样的事情。请务必使用数字键盘。