【问题标题】:How to get imaginary and real part of complex expression symbolically in Matlab?如何在Matlab中象征性地得到复杂表达式的虚部和实部?
【发布时间】:2018-05-13 23:54:28
【问题描述】:

我试图得到以下复杂表达式的虚部和实部。

syms a b
F = imag((cos(a)-j*sin(a))/(1+j*a*b-cos(a)+j*sin(a)))
simplify(F)

无论是否简化,输出都相同。 有什么办法可以用标准复数格式(x+jy)来表达这个表达式?

【问题讨论】:

    标签: matlab symbolic-math


    【解决方案1】:

    默认情况下,没有任何关于 ab 的假设,这意味着它们可能很复杂。因此,MATLAB 无法确定虚部的封闭形式表达式。如果您知道ab 是实数,那么您可以按如下方式进行此假设。

    syms a b real
    F = imag((cos(a)-j*sin(a))/(1+j*a*b-cos(a)+j*sin(a)))
    

    或者,您可以在声明后使用assume 函数更改符号对象的假设。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-04-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-08-26
      • 2015-05-24
      • 1970-01-01
      相关资源
      最近更新 更多