Python 如何在Symphy中象征性地计算数值数学表达式?
我是Symphy的新手,不是python专家。我需要做一些象征性的计算,就像下面的例子 评价:C(4,2)/C(7,2) 即。Python 如何在Symphy中象征性地计算数值数学表达式?,python,math,sympy,symbolic-math,Python,Math,Sympy,Symbolic Math,我是Symphy的新手,不是python专家。我需要做一些象征性的计算,就像下面的例子 评价:C(4,2)/C(7,2) 即。 2/7 C(4,2)是我国广泛使用的一种快车,它是4x3/2x1。也许你管它叫组合。 类似地,C(7,2)是7x6/2x1 1,虽然我可以写一个函数来计算C(x,y),但在sympy中有没有一个轮子可以这样做 2,无论我如何得到C(4,2)和C(7,2),我如何得到2/7格式的商,而不是一个非符号的浮点数 x = sympy.symol('x') y = x / 7
2/7
C(4,2)是我国广泛使用的一种快车,它是4x3/2x1。也许你管它叫组合。
类似地,C(7,2)是7x6/2x1
1,虽然我可以写一个函数来计算C(x,y),但在sympy中有没有一个轮子可以这样做
2,无论我如何得到C(4,2)和C(7,2),我如何得到2/7格式的商,而不是一个非符号的浮点数
x = sympy.symol('x')
y = x / 7
3,我需要在变量中使用一些符号,以便在其他表达式中使用。怎么做?如下图所示:
x = 2/7
y = x * 7
附言:
我已经学会了下面是一个象征性的方式,但我如何才能保持纯粹的数字表达式像上面的象征
x = sympy.symol('x')
y = x / 7
有一个函数
nC
,用于执行以下操作:
In [51]: from sympy.functions.combinatorial.numbers import nC
In [52]: nC(4, 2) / nC(7, 2)
Out[52]: 2/7
谢谢,这解决了我的第一个问题。但是,如果变量不是来自nC(x,y),我如何在变量中象征性地存储和使用2/7呢?每当你说“x=…”时,你就是在定义x。在symphy中,
x
可能是符号('x')
或类似于2/7
的值。因此,定义x=S(2)/7
,不要将其重新定义为符号,你会没事的。如果你使用'S(2)/7,你将得到一个精确的SymPy Rational而不是python浮点。请阅读SymPy教程