loops performed on table
1 vue (au cours des 30 derniers jours)
Afficher commentaires plus anciens
TT =
3587×5 table
Angle Speed theta x speed y speed
_____ _____ _____ _______ _______
199 0.119 NaN NaN NaN
209 0.214 NaN NaN NaN
210 0.238 NaN NaN NaN
201 0.191 NaN NaN NaN
I would like to process the following actions:
For rows where 0<=angle<90 --> theta=angle
yspeed=speed*cos(theta)
xspeed=speed*sin(theta)
For rows where 90<=angle<180 --> theta=angle-90
yspeed=speed*sin(theta)
xspeed=speed*cos(theta)
For rows where 180<=angle<270 --> theta=angle-180
yspeed=speed*cos(theta)
xspeed=speed*sin(theta)
For rows where 270<=angle<0 --> theta=angle-270
yspeed=speed*sin(theta)
xspeed=speed*cos(theta)
How would I code this?
Many thanks
1 commentaire
Mathieu NOE
le 4 Mar 2021
hello
well, you have almost the code ready when you wrote the question,
where do you have trouble with ?
Réponses (1)
David Hill
le 4 Mar 2021
idx=TT.Angle>=0&TT.Angle<90;
TT.theta(idx)=TT.Angle(idx);
TT.yspeed(idx)=TT.Speed(idx).*cosd(TT.theta(idx));
TT.xspeed(idx)=TT.Speed(idx).*sind(TT.theta(idx));%continue in the way for the others
0 commentaires
Voir également
Catégories
En savoir plus sur Matrices and Arrays dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!