您的位置首页生活百科

Mathematica处理复数问题的基本方法

Mathematica处理复数问题的基本方法

的有关信息介绍如下:

Mathematica处理复数问题的基本方法

在进行四则运算的时候,复数和实数是一样的处理方法,所以这里就不作多余的说明了。那么,这二种数域有什么需要区别的地方呢?

平面上,一个向量对应复平面上一个复数,比如,给出向量{a,b},对应的复数就是:

x = {a, b};

X = x[] + I x[]

对于给定的复数,可以分别给出实部和虚部:

Re[5 + 3 I]

Im[5 + 3 I]

ReIm就是把Re和Im的功能组合起来了:

ReIm[5 + 3 I]

给出一个特定复数的共轭复数:

Conjugate[5 + 6 I]

求复数的模长,用Abs或Norm:

Abs[5 + 12 I]

Norm[5 + 12 I]

如果是待定复数,当如何处理呢?比如,求a+b I的实部和虚部、共轭复数、模长:

ReIm[a + b I]

Conjugate[a + b I]

Norm[a + b I]

Abs[a + b I]

结果,Mathematica把a和b当成复数来对待了。

如果提前约定a和b都是实数,或许就会好一点:

Assuming[(a \[Element] Reals && b \[Element] Reals), ReIm[a + b I]]

Assuming[(a \[Element] Reals && b \[Element] Reals),

Conjugate[a + b I]]

Assuming[(a \[Element] Reals && b \[Element] Reals), Abs[a + b I]]

Assuming[(a \[Element] Reals && b \[Element] Reals), Norm[a + b I]]

然而没什么用,这是怎么回事?

网友BeerRabbit-Math-SH 告诉我,用Refine就可以解决这个问题,这个方法是对的:

Refine[ReIm[a + b I], (a \[Element] Reals && b \[Element] Reals)]

Refine[Conjugate[a + b I], (a \[Element] Reals && b \[Element] Reals)]

Refine[Abs[a + b I], (a \[Element] Reals && b \[Element] Reals)]

Refine[Norm[a + b I], (a \[Element] Reals && b \[Element] Reals)]

但是要注意,Abs在这里失效了。