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

답변 (2개)

Star Strider
Star Strider 2014년 8월 26일
편집: Star Strider 2014년 8월 26일

1 개 추천

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

Babak
Babak 2014년 8월 26일
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.

댓글을 달려면 로그인하십시오.

Babak
Babak 2014년 8월 26일

0 개 추천

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

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

댓글을 달려면 로그인하십시오.

카테고리

도움말 센터File Exchange에서 Creating and Concatenating Matrices에 대해 자세히 알아보기

태그

질문:

2014년 8월 26일

댓글:

2014년 8월 26일

Community Treasure Hunt

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

Start Hunting!

Translated by