Asked by Md Mahmudul Hasan
on 11 May 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.

*No products are associated with this question.*

Answer by John Doe
on 11 May 2013

Edited by John Doe
on 11 May 2013

Accepted answer

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

Show 3 older comments

Md Mahmudul Hasan
on 11 May 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 ??

MATLAB and Simulink resources for Arduino, LEGO, and Raspberry Pi test

Learn moreOpportunities for recent engineering grads.

Apply Today
## 0 Comments