How to properly create for loop with if statement

5 vues (au cours des 30 derniers jours)
Light
Light le 2 Avr 2023
Modifié(e) : Torsten le 22 Avr 2023
Hi, how do you create a for or while loop with an if statement which adds 360 to an existing variable l, if l is negative?
  1 commentaire
Stephen23
Stephen23 le 2 Avr 2023
Déplacé(e) : Stephen23 le 20 Avr 2023
The simple and efficient approach:
L = -180:20:180
L = 1×19
-180 -160 -140 -120 -100 -80 -60 -40 -20 0 20 40 60 80 100 120 140 160 180
L = mod(L,360)
L = 1×19
180 200 220 240 260 280 300 320 340 0 20 40 60 80 100 120 140 160 180

Connectez-vous pour commenter.

Réponse acceptée

Star Strider
Star Strider le 2 Avr 2023
It is necessary to use the index on ‘L’ on both sides of the equation.
L = -180:20:180
L = 1×19
-180 -160 -140 -120 -100 -80 -60 -40 -20 0 20 40 60 80 100 120 140 160 180
for l = 1:length(L)
if L(l) < 0
L(l) = L(l) + 360;
end
end
L
L = 1×19
180 200 220 240 260 280 300 320 340 0 20 40 60 80 100 120 140 160 180
A one-line version (avoiding the loop) would be —
L = -180:20:180
L = 1×19
-180 -160 -140 -120 -100 -80 -60 -40 -20 0 20 40 60 80 100 120 140 160 180
L(L<0) = L(L<0) + 360
L = 1×19
180 200 220 240 260 280 300 320 340 0 20 40 60 80 100 120 140 160 180
The one-line version is more efficient.
.
  91 commentaires
Light
Light le 21 Avr 2023
mag_v or |v| (magnitude of v) is given as: sqrt((v0*cos(theta).^2) + (v0*sin(theta).^2))
But the formula for the distance using x and y is: s = (integral) sqrt(1+ ((dy/dt)/(dx/dt))^2) dx
sorry for the confusion. The first is the magnitude of v while the second is the distances based on the values of x and y.
Torsten
Torsten le 22 Avr 2023
Modifié(e) : Torsten le 22 Avr 2023
Sorry, but your formula for s is simply wrong. Not even the physical unit of your s-definition (which should be meters) is correct for the formula.
The distance travelled is the integral over the magnitude of the velocity.

Connectez-vous pour commenter.

Plus de réponses (0)

Community Treasure Hunt

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

Start Hunting!

Translated by