0

所以我想简化z:=a+I*b; Im(z)where a,b是实变量所以我尝试:

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

所以我想知道是否有可能简化Im(z)以便将 b 作为输出(这里我们看一般情况下的含义z可能是来自实际值的任何复杂表达式(如a,bc和 complex I))?

4

2 回答 2

2

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

> 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~
于 2011-09-10T17:28:54.490 回答
1

evalc命令通过将未知数视为真实来工作。

z:=a+I*b:

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

evalc( Im(z) );
                                  b

请参阅其帮助页面?evalc

于 2011-09-11T00:05:01.860 回答