How can I make a loop the changes for the specified values?
2 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
Emily Gobreski
am 24 Jun. 2016
Kommentiert: Star Strider
am 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 Kommentare
Akzeptierte Antwort
Star Strider
am 24 Jun. 2016
Bearbeitet: Star Strider
am 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 Kommentare
Weitere Antworten (0)
Siehe auch
Kategorien
Mehr zu Loops and Conditional Statements finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!