How can I write a loop to evaluate theta at every two degrees from 0-360?

조회 수: 3 (최근 30일)
Emily Gobreski
Emily Gobreski 2016년 6월 11일
편집: Image Analyst 2016년 6월 12일
n=(360/Dth)+1
theta=0
for I=1:2:n
R=12
w=(2*pi/5)
Md=50
Thetarads= theta*pi/180
Id=(.5*Md*R^2)
Mp=75
Mb=30
alpha=0
u=.8
L=6*R
theta=0
Dth=2
thetarads=theta*pi/180
rx=(R)*cos(theta)-L*cos(180)-L
ry=(R*sin(theta))-(L*sin(180))-(R*sin(theta))
vx=(-R)*(w)*sin(theta)
vy=(R)*(w)*cos(theta)
alpha=0
ax=(-R)*alpha*sin(theta)-(R*(w^2)*cos(theta))
ay=(R)*alpha*cos(theta)-(R*w^2*sin(theta))
theta=theta+Dth
end
  댓글 수: 2
Roger Stafford
Roger Stafford 2016년 6월 11일
There are a number of errors or questionable items in your code:
1) Inside the for-loop you set theta = 0 so that it will never change.
2) You write sin(theta) and sin(180), and theta and (I suspect) 180 are in degrees, whereas ‘sin’ uses radian measure.
3) In the line
ry=(R*sin(theta))-(L*sin(180))-(R*sin(theta))
the R*sin(theta) terms cancel each other.
4) You set alpha = 0, so why use it in the lines for ax and ay?
5) Why have you defined Md, Id, Mp, Mb, u. They are never used.
Emily Gobreski
Emily Gobreski 2016년 6월 11일
편집: Emily Gobreski 2016년 6월 11일
thank you so much! I have no idea what I am doing. I really appreciate your time and help! what do i need to do to make sure theta changes?

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

답변 (1개)

Steven Lord
Steven Lord 2016년 6월 11일
You probably want simply to use the degree-based trig functions like sind, cosd, etc. instead of sin and cos.
  댓글 수: 2
Emily Gobreski
Emily Gobreski 2016년 6월 11일
thank you! how can i write it in radians and still account for the degree change?
Chad Greene
Chad Greene 2016년 6월 11일
Steven's suggesting an alternative function. If you're working in degrees, you can use sind(theta) or you can use sin(theta*pi/180). They will both give the same result.

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

카테고리

Help CenterFile Exchange에서 Loops and Conditional Statements에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by