【发布时间】:2021-09-08 23:07:43
【问题描述】:
我正在尝试使用 python Symp 的符号库。我收到很多错误。如何克服这一点。每次我不想输入 sym.symobls 来定义新事物时。
from sympy import *
from math import *
W1, W2, W3,z1, z2, b, a,g,l = symbols('W1 W2 W3 z1 z2 b a g l')
l = b**2(g/sqrt(a));
#Beam Functions
W1 = simplify(c1*cos(b*x) + c2*sin(b*x) + c3*cosh(b*x) + c4*sinh(b*x));
【问题讨论】:
-
使用
import *被认为是错误的形式;在同一个文件中多次使用它绝对是一场灾难。在您的情况下,您正在用math中的那些(仅适用于具体数字)覆盖来自sympy的三角函数(那些实际上与您定义的符号一起工作的函数) .此外,在b**2(g/sqrt(a))中,您尝试调用2,就好像它是一个函数一样——那里可能缺少*。 -
好的,怎么写。你能推荐点什么吗
-
如果你正在使用 sympy,我建议永远不要导入
math(至少在这个阶段),如果你不想写sym.symbols,我也建议from sympy import symbols。 -
@jasonharper,
isympy脚本确实使用了from sympy import *,但没有使用任何其他*。我习惯于将numpy导入为np,但是对于专用的sympy会话,这个* 导入似乎不是问题。我同意导入math是不必要的。如果需要,sympy使用mpmath进行数值计算。
标签: python python-3.x sympy symbols