如果我想要计算表达式 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, {0, Infinity}]
。 - SashaPower
并不总是对应于表达式中的^
,例如1/x
在FullForm
中是Power[x,-1]
。请注意,如果这与您的问题相关,则有一些类似这样的怪癖。 - Szabolcs