Abs and angle of complex number with symbolic object
5 次查看(过去 30 天)
显示 更早的评论
Hi,
If r=sym('a')*exp(j*sym('b')) is a symbolic object, and
1. if I write abs(r), I get abs(a).....I need get only "a" without abs
2. if I write angle(r), I get error
??? Undefined function or method 'atan2' for input arguments of type 'sym'.
Error in ==> angle at 14 p = atan2(imag(h), real(h));
Can you help me please? How can I solve this?
0 个评论
采纳的回答
Walter Roberson
2013-3-5
There is no "complex argument" function for symbolic variables exposed at the MATLAB level. You can, though, define
arg = @(V) feval(symengine, 'arg', V);
更多回答(1 个)
Brian B
2013-3-4
编辑:Brian B
2013-3-4
Well, for part 1 you have to assume a is a non-negative real:
syms a
assume(a>0)
Then
>> abs(a)
ans =
a
I have not tried the second part, but you can imagine dividing by the magnitude and taking a log....
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Special Values 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!