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

发布于 2024-12-03 19:28:59 字数 364 浏览 2 评论 0原文

所以我想简化 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 可以是来自实际值的任何复杂表达式(例如 ab< /code>、c 等且复杂))?

So I want to simplify z:=a+I*b; Im(z) where a, b are real variables So I try:

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

So I wonder is it any how possible to simplify Im(z) so to get b as output (here we look at general case meaning z could be any complex expression from real values (like a, b, c etc and complex I))?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

薄凉少年不暖心 2024-12-10 19:28:59

你没有告诉 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~

You didn't tell Maple that a and b were real, so the simplification doesn't work because it doesn't necessarily hold. One way to get what you want is by using the assume command to let it know:

> 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~
黑色毁心梦 2024-12-10 19:28:59

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

z:=a+I*b:

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

evalc( Im(z) );
                                  b

请参阅其帮助页面,?evalc

The evalc command works by considering unknowns as being real.

z:=a+I*b:

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

evalc( Im(z) );
                                  b

See its help-page, ?evalc.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文