Cha*_*les 4 wolfram-mathematica
如果我想计算^表达式中出现的次数x,那很容易:
Count[x, _Power, {0, Infinity}]
假设我只想计算-1的实例来提高功率.我怎样才能做到这一点?
我试过了
Count[(-1)^n + 2^n, _Power[-1, _], {0, Infinity}]
乃至
Count[Plus[Power[-1, n], Power[2, n]], _Power[-1, _], {0, Infinity}]
但两人都给了0.
问题的由来:我建立一个ComplexityFunction可以使某些这样的表达式Power[-1, anyComplicatedExpressionHere]和Sqrt[5](有关我的问题),但严重处罚的其他用途Power和Sqrt.
你会的 Count[x,Power[-1,_], {0, Infinity}]
In[4]:= RandomInteger[{-1, 1}, 10]^RandomChoice[{x, y, z}, 10]
Out[4]= {(-1)^x, (-1)^x, 0^y, 0^z, (-1)^z, 1, 1, 1, (-1)^y, 0^x}
In[5]:= Count[%, (-1)^_, {0, Infinity}]
Out[5]= 4