Clear Filters
Clear Filters

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

1 view (last 30 days)
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 Comments
Roger Stafford
Roger Stafford on 11 Jun 2016
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 on 11 Jun 2016
Edited: Emily Gobreski on 11 Jun 2016
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?

Sign in to comment.

Answers (1)

Steven Lord
Steven Lord on 11 Jun 2016
You probably want simply to use the degree-based trig functions like sind, cosd, etc. instead of sin and cos.
  2 Comments
Emily Gobreski
Emily Gobreski on 11 Jun 2016
thank you! how can i write it in radians and still account for the degree change?
Chad Greene
Chad Greene on 11 Jun 2016
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.

Sign in to comment.

Categories

Find more on Loops and Conditional Statements in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!