Programming: keep theta between specific values

Hi every one,
I have a problem in programming. I have theta which start from 0 and goes to unspecified value. I want to reset theta if it reached to 2pi and keep it always between [0,2pi]. I wrote a code but it is not true for all situation(Ex after 4pi). My code is:
if theta>2*pi
theta=theta-2*pi;
end

Answers (2)

You can do that with the rem function:
x = linspace(0,10*pi);
theta = rem(x, 2*pi);
figure(1)
plot(x/pi,theta/pi)
grid
xlabel('Angle (x \pi)')
ylabel('Angle (x \pi)')
They are plotted as multiples of pi for convenience in visualising the result.

2 Comments

I think my explanation was not complete. I should say I get a value of theta each time not a vector. theta is a [1*1] matrix and it will increase.
A (1x1) matrix is a scalar.
My code does exactly what you illustrated. It produces vectors of values from (0,2*pi) from your linearly increasing vector that goes from zero to at least 6*pi.

Sign in to comment.

I should write something like this: ( there should be an easier way!)
if 0<theta<2*pi
theta=theta-2pi;
end
if 2*pi<theta<4*pi
theta=theta-4pi;
end
if 4*pi<theta<6*pi
theta=theta-6pi;
end

1 Comment

Run your code and see if it produces the result you illustrated.
Mine does.

Sign in to comment.

Categories

Asked:

on 26 Aug 2014

Commented:

on 26 Aug 2014

Community Treasure Hunt

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

Start Hunting!