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

9 次查看(过去 30 天)
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.

采纳的回答

John Doe
John Doe 2013-5-11
编辑:John Doe 2013-5-11
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 个评论
Mohammad Mahmudul Hasan
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 2013-5-11
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).

请先登录,再进行评论。

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Mathematics 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by