擅长:python、mysql、java
<p>您可以提取表达式的<a href="https://docs.sympy.org/latest/modules/core.html#sympy.core.basic.Basic.atoms" rel="nofollow noreferrer">^{<cd1>}</a>并测试变量是否在其中:</p>
<pre class="lang-py prettyprint-override"><code>from sympy import symbols
a, b, mug = symbols('a b mu_g')
expr1 = a * b + a * mug
expr2 = a * b
for expr in [expr1, expr2]:
if mug in expr.atoms():
print(expr, 'contains', mug)
else:
print(expr, 'does not contain', mug)
</code></pre>
<p>附:新问题的更新。对于<code>MatrixSymbol</code>符号存储为<code>wg.args[0]</code>(<code>args[1]</code>和<code>args[2]</code>是维度):</p>
<pre class="lang-py prettyprint-override"><code>import sympy as sym
N = 211
wg = sym.MatrixSymbol('w_g', N, 1)
wg_n = sym.MatrixSymbol('w_gn', N, 1)
Z_wg = sym.MatrixSymbol('Z_wg', N, N)
pdf_wg = ((wg - wg_n).T * Z_wg.I * (wg - wg_n))
pdf_full = sym.expand(pdf_wg)
print (wg.args[0] in pdf_full.atoms()) # True
</code></pre>
<p>请注意,哈克的解决方案是,当<code>w_g</code>是最后一项或另一个名称以相同字符串结尾时,问题可能会出错</p>