eac*_*eau 3 math wolfram-mathematica
有没有办法检查表达式是否包含复杂的表达式/虚数?
文档说您无法检查表达式是否包含,I因为它的解释方式.我也尝试过ImaginaryQ[expr_] := expr != Conjugate[expr]和Simplify[expr] =!= Simplify[Conjugate[expr]],但不会产生准确的结果.我也试过使用MemberQ [expr,Complex],但这似乎也不起作用.
我在笔记本上贴了一些例子:http: //www.eacousineau.com/download/complex-test.nb
怎么样
ImaginaryQ[expr_] := ! FreeQ[expr, _Complex]
Run Code Online (Sandbox Code Playgroud)
在两个例子中使用它:
imExpr = a Sin[a + 2 I];
ImaginaryQ@imExpr
(* True *)
reExpr = a Sin[a^2 + a];
ImaginaryQ@reExpr
(* False *)
Run Code Online (Sandbox Code Playgroud)