Confused about atan versus angle- Not getting the same result!

2 views (last 30 days)
Hi,
So I am creating a GUI to show some admittance data. I have the data in two columns real and imaginary by using the angle command. However, when I attempt to check my data, atan does not give me the same result as angle. I can't figure out why. For instance at the peak of one of the plots, I have real= .003453, imag = .001354.
Then, atan((.001354/.003453))=.38, atand((.001354/.003453))=21.4113. BUT angle((.001354/.003453))=0. Why?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Here's the code I used in my GUI.
%This selects the proper plot to plot according to slider value (from 1-220).
handles.admdatatocompare = handles.celldata1{1,handles.slidervar};
guidata(hObject,handles);
admtocompare_full=handles.admdatatocompare(:,2)+(1i.*handles.admdatatocompare(:,3));
admchannel=m1(:,2)+(1i.*m1(:,3));
admphasechannel = angle(admchannel);
admphasetocompare = angle(admtocompare_full);

Accepted Answer

Stephan
Stephan on 16 Nov 2018
Edited: Stephen23 on 16 Nov 2018
Hi,
angle works correctly on complex numbers:
atan((.001354/.003453))
atand((.001354/.003453))
angle((.001354i+.003453))
% This is what you did:
angle(.001354/.003453)+0i
Best regards
Stephan

More Answers (0)

Categories

Find more on General Applications in Help Center and File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!