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

Réponses (2)

Star Strider
Star Strider le 26 Août 2014
Modifié(e) : Star Strider le 26 Août 2014
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 commentaires

Babak
Babak le 26 Août 2014
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.
Star Strider
Star Strider le 26 Août 2014
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.

Connectez-vous pour commenter.

Babak
Babak le 26 Août 2014

0 votes

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 commentaire

Star Strider
Star Strider le 26 Août 2014
Run your code and see if it produces the result you illustrated.
Mine does.

Connectez-vous pour commenter.

Catégories

Question posée :

le 26 Août 2014

Commenté :

le 26 Août 2014

Community Treasure Hunt

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

Start Hunting!

Translated by