公告:本站正式转型为非交互式静态网站!
转型:本站将通过笔记和博客的形式继续为大家服务,关于 Mathematica 问答服务请移步至QQ群:365716997
联系:如有问题请联系QQ群管理员,或发送邮件至:lixuan.xyz@qq.com。
感谢:最后非常感谢大家多年来的支持与帮助!
参考《互联网跟帖评论服务管理规定》《中华人民共和国网络安全法》《网络信息内容生态治理规定》《互联网用户账号信息管理规定》

—— 2022-11-27

欢迎来到 Mathematica 问答社区

提问时请贴上文本代码

语法高亮:在编辑器中点击

被禁止的话题:广告破解

请阅读:《提问的智慧》

备用域名:mma.ooo

支持LaTex数学公式
行内公式标识符:\$ 或“$\backslash ($”+“$\backslash )$”,
行间公式标识符:\$\$ 或 “$\backslash [$”+“$\backslash ]$”

社区建议QQ群:365716997

分类

+1 投票
2.6k 浏览

我要化简一个复表达式,用了Simplify函数,我这里假设里面的变量都是实数。但是这面的假设并没有作用。代码如下

Simplify[ComplexExpand[(((-\[Gamma] + I (\[CapitalDelta] - \[Omega])) Sqrt[2 \[Kappa]])/(g1^2 +
 (-\[Gamma] + I (\[CapitalDelta] - \[Omega])) (\[Kappa] +  I (\[CapitalDelta] - \[Omega]))))], 
 Element[{\[Gamma], \[CapitalDelta], \[Omega], \[Kappa], g1}, Reals]]

但是 得到的结果依然把这些参数当成一复变量。

(Sqrt[2] (\[Gamma] - I (\[CapitalDelta] - \[Omega])) Sqrt[Abs[\[Kappa]]] (Cos[Arg[\[Kappa]]/2] + 
   I Sin[Arg[\[Kappa]]/2]))/(g1^2 + (\[CapitalDelta] - I \[Kappa] - \[Omega]) (-I \[Gamma] - \[CapitalDelta] + \[Omega]))

这里我该如何处理?

 

用户: 小菜220 (66 分)
修改于 用户:小菜220

1个回答

+2 投票
 
已采纳

你明明在代码中指定那些参数为实数嘛!

复数是:Complexes

Simplify[ComplexExpand[(((-\[Gamma] + 
        I (\[CapitalDelta] - \[Omega])) Sqrt[
       2 \[Kappa]])/(g1^2 + (-\[Gamma] + 
         I (\[CapitalDelta] - \[Omega])) (\[Kappa] + 
         I (\[CapitalDelta] - \[Omega]))))], 
 Element[{\[Gamma], \[CapitalDelta], \[Omega], \[Kappa], g1}, 
  Complexes]]

比如参数都大于零时:

Simplify[ComplexExpand[(((-\[Gamma] + 
        I (\[CapitalDelta] - \[Omega])) Sqrt[
       2 \[Kappa]])/(g1^2 + (-\[Gamma] + 
         I (\[CapitalDelta] - \[Omega])) (\[Kappa] + 
         I (\[CapitalDelta] - \[Omega]))))], {\[Gamma] > 
   0, \[CapitalDelta] > 0, \[Omega] > 0, \[Kappa] < 0, g1 > 0}]

建议你修改一下问题,不要参杂过多其它干扰因素。
不然,既浪费回答者的时间,也浪费你的时间。

实际上,你的问题完全可以写成下面的样子

为什么 Simplify[Arg[x], x \[Element] Reals] 不化简。

最后,建议先看看《提问的智慧》

用户: 野鹤 (5.1k 分)
采纳于 用户:小菜220
这样啊。
但是你最开始就已经使用了ComplexExpand啊,所以会出现Arg[]。
而对于实数a来说,Arg[a]可能等于0,也可能等于Pi,不能再化简了。
要想进一步化简,就得给出参数是正还是负了。

上面的回答已经修改
明白了,我已经把问题修改,但你说的改的标题方式,我刚开始是想不到的。还有一个问题是,我并不能把这些参数限定在正数或者负数。化简中如果不想有Arg这些该如何处理?
有道理,如果能想到那一步,问题差不多就解决了。

由于实数的辐角只可能有两个值:0,Pi。所以可能考虑把Arg[r]替换成:Pi/2±Pi/2。
事实上我觉得应该可以化简成Pi/2+Sign[r]*Pi/2,用Sign抽取变量的符号就好了
嗯。进一步化简了。
...