首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >Python用渐近法求解三次方程

Python用渐近法求解三次方程
EN

Stack Overflow用户
提问于 2018-06-30 06:41:41
回答 2查看 2.3K关注 0票数 3

我在尝试用sympy解方程时遇到了一个问题。某些变量具有指定的特定值。我正在尝试解决bcd的方程。这是我的尝试:

代码语言:javascript
复制
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输出以下错误:

代码语言:javascript
复制
    [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

我遗漏了什么?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-06-30 07:38:10

您的-字符有问题。由于某种原因,它不是一个常规字符,python无法识别它。我在我的机器上用连字符替换了你所有的减号,它起作用了:

代码语言:javascript
复制
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做到了。

票数 4
EN

Stack Overflow用户

发布于 2018-06-30 08:10:51

-是减号,不是。在Python中,它们的解释是不同的,第一个编码为u"\u002D",第二个编码为u"\u2212",显然它们不会做同样的事情。确保使用您的数字键盘。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51110217

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档