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

조회 수: 19 (최근 30일)
Mohammad Mahmudul Hasan
Mohammad Mahmudul Hasan 2013년 5월 11일
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
Mohammad Mahmudul Hasan 2013년 5월 11일
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