Abs and angle of complex number with symbolic object
이전 댓글 표시
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?
채택된 답변
추가 답변 (1개)
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....
댓글 수: 6
Brian B
2013년 3월 4일
You may also have to
assume(b,'real')
john
2013년 3월 4일
편집: Walter Roberson
2013년 3월 4일
Brian B
2013년 3월 4일
What version of the Symbolic Math Toolbox do you have?
ver('symbolic')
john
2013년 3월 4일
Try
a = sym('a','positive')
b = sym('b','real')
That works for me in R2011b, including computing the magnitude of r. I don't see a good way to get the argument, though.
john
2013년 3월 5일
카테고리
도움말 센터 및 File Exchange에서 Special Values에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!