How can I make a loop the changes for the specified values?
2 views (last 30 days)
Show older comments
Emily Gobreski
on 24 Jun 2016
Commented: Star Strider
on 24 Jun 2016
I am trying to set time increment n such that it always corresponds to a 2 degree increment in TH2 based on current omega2. However, I do not believe my loop is set up to evaluate at a 2 degree increment. I do not know what steps to take to make my code run properly.
w2=2*pi;
TH2=0;
t=2
a2=0.5*t;
L2=50;
L3=150;
for n=1:2:length(w2)
TH3(n)=acosd((L2*cosd(TH2))/L3)
d(n)=((L2*sind(TH2(n)))-(L3*sind(TH3(n))))
w3(n)=(L2*w2*sind(TH2(n)))/L3*sind(TH3(n))
d2(n)=(L2*w2*cosd(TH2(n)))-L3*w3*cosd(TH3(n))
a3(n)=((-L3*w3^2*cosd(TH3(n)))+(L2*a2*sind(TH2(n))))+(L2*w2^2*cosd(TH2(n)))/L3*sind(TH3(n))
d3(n)=(L2*a2*cosd(TH2(n)))-(L2*w2^2*sind(TH2(n)))-(L3*a3*cosd(TH3(n)))+(L3*w3^2*sind(TH3(n)))
end
0 Comments
Accepted Answer
Star Strider
on 24 Jun 2016
Edited: Star Strider
on 24 Jun 2016
The problem is that your ‘w2’ is a scalar of size (1 x 1), so the loop is already satisfied at the first iteration.
This might be closer to what you want to do:
for n=1:2:w2
although ‘n’ will increment in radians, not degrees. To have it increment in degrees, change your loop index to:
for n=1:2:w2*180/pi
or just:
for n=1:2:360
EDIT — Also, ‘TH2’ and ‘TH3’ never change, so all calculations derived from them never change.
4 Comments
More Answers (0)
See Also
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!