|
发表于 2023-10-3 08:24:13
|
显示全部楼层
在Mathematica里面,一切 都是表达式,一切表达式又都是 可以用树来表示。所以你的问题完全可以用树的一些操作函数来完成。
于是查看一下树形结构- ComplexExpand[(a + b I)/(c + d I)] // TreeForm
复制代码
由此可以得知 ComplexExpand[(a + b I)/(c + d I)]的输出是一个Plus表达式,即该表达式的Head是Plus,参数是 三个子表达式。对于虚部,我们要取的是最后一个子表达式,所以只需Last即可。而该子表达式是带有I的,进一步递归之,取这个Times表达式的最后元素,所以最终答案就是
- ComplexExpand[(a + b I)/(c + d I)] // Last // Last
复制代码
==================================================
基于以上基础概念的认识,可以玩些花样:
取实部:- Take[ComplexExpand[(a + b I)/(c + d I)], 2]
复制代码 取虚部:- Take[ComplexExpand[(a + b I)/(c + d I)], -1, -1]
复制代码 |
|