How to get the real&imaginary mode of the symbolic complex equation

4 Ansichten (letzte 30 Tage)
Hi, it seems the MATLAB(2018b) cannot express the real&imaginary&mode of the symbolic complex equation? For instance, Function=A+1j*B, and I expect "sqrt(A^2+B^2)" as the answer when I type in "abs(Function)". However, Matlab just returned "abs(Funtion)", which is not what I expected.
I found some similar quesiton on these sort of thing, this one "https://it.mathworks.com/matlabcentral/answers/386933-symbolic-complex-number-manipulation" suggets to add "real", and this one "https://it.mathworks.com/matlabcentral/answers/14945-complex-numbers-in-symbolic-toolbox " mentiones to add "simplify". I tried to add both "simplify" and “real”, but Matlab still doesn't understand. I figured that if you type in number, Matlab can easily work out, but if using symbolic, Matlab isn't that intelligent. By the way,software MathCad seems understand better in how to express symbolic complex equation.
Is this just a problem only for 2018b version? If anyone knows how to solve this kind of symbolic complex equation manipulation, that will be very helpful.

Akzeptierte Antwort

madhan ravi
madhan ravi am 30 Jun. 2020
syms A B real
Function = A+1j*B
rewrite(abs(Function),'sqrt')
  1 Kommentar
Ruimin Dai
Ruimin Dai am 30 Jun. 2020
Thank your advice. That solves my question.
I used "assume(A,'real'); assume(B,'real');" instead of "syms A B real", and I overlooked to use "rewrite (Funtion,'sqrt')" in the end. That is why I failed before.

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Kategorien

Mehr zu Symbolic Math Toolbox finden Sie in Help Center und File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by