Maple:简化Im(a + I * b) - 为什么它对我不起作用?

时间:2011-09-10 15:32:50

标签: maple

所以我想简化z:=a+I*b; Im(z),其中ab是真正的变量所以我尝试:

s:= 1+2*I
Im(s) // outputs 2
z:=a+I*b
Im(z) // outputs  Im(a+I*b)

所以我想知道是否有可能简化Im(z)以便将b作为输出(这里我们看一般情况意义z可以是来自实际值的任何复杂表达式(如{{1 },ab等和复杂的c))?

2 个答案:

答案 0 :(得分:2)

你没有告诉Maple a和b是真的,所以简化不起作用,因为它不一定成立。获得所需内容的一种方法是使用assume命令让它知道:

> s:=1+2*I;
                                 s := 1 + 2 I

> Im(s);
                                       2

> z:=a+I*b;
                                 z := a + b I

> Im(z);
                                  Im(a + b I)

> assume(a,real);
> assume(b,real);
> z;
                                   a~ + b~ I

> Im(z);
                                      b~

答案 1 :(得分:1)

evalc命令的工作原理是将未知数视为真实。

z:=a+I*b:

Im(z);
                             Im(a + I b)

evalc( Im(z) );
                                  b

请参阅其帮助页面?evalc