Please tell me what's wrong here with the exp (1j*theta)

14 vues (au cours des 30 derniers jours)
Mohammad Mahmudul Hasan
Mohammad Mahmudul Hasan le 11 Mai 2013
I am trying to find the theta part from an exponential value.
Suppose, i take a variable
z=exp(1i*5);
so this will give me
z =
0.2837 - 0.9589i
Now i want to find that "5" from this value. So, i go with this "angle(z)" and matlab shows
ans =
-1.2832
Shouldn't it be 5, according to theory ??
Or if i go with the eular formula like, exp(i*theta)= cos(theta) + i*sin(theta)
so, theta= atan(0.2837/-0.9589) = -0.2877 !!
How do i get the theta=5 back, i don't know if i am missing something.

Réponse acceptée

John Doe
John Doe le 11 Mai 2013
Modifié(e) : John Doe le 11 Mai 2013
The reason is that:
5 rad = -1.2832 rad % (-1.2832 + 2*pi = 5)
That is:
x = x + n*2*pi; % where x is an angle in radians, and n is an integer.
Matlab will always give you values between +/- pi.
And you use Eular the wrong way around: tan = sin/cos, not cos/sin.
=)
- Rob
  6 commentaires
Mohammad Mahmudul Hasan
Mohammad Mahmudul Hasan le 11 Mai 2013
thank you, for your reply, and as you've mentioned .. that i could save this variable to use later, but i will actually send this variable as a signal of "exp(1j*x)" to the receiver and receiver will extract 5 from this. So, i can't actually save it as a variable.
anyway, what i understood is this
>> angle(exp(1j*5)) +2*pi
ans =
5
>> angle(exp(1j*4)) +2*pi
ans =
4.0000
It works here but, when i go for 1 or 2...
>> angle(exp(1j*2)) +2*pi
ans =
8.2832
>> angle(exp(1j*1)) +2*pi
ans =
7.2832
shouldn't this be 1 and 2, as it worked for 4 and 5 ??
John Doe
John Doe le 11 Mai 2013
No. Valid angles are in the area (-pi < x < pi). Since 4 and 5 are outside this area, the angles are not 4 and 5 (but -1.283.. etc). However, 1 and 2 are within the valid area, thus the angle is equal to 1 and 2 (without adding any +/-k*2*pi).

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur Logical dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by