loops performed on table

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 件のコメント

Mathieu NOE
Mathieu NOE 2021 年 3 月 4 日
hello
well, you have almost the code ready when you wrote the question,
where do you have trouble with ?

サインインしてコメントする。

回答 (1 件)

David Hill
David Hill 2021 年 3 月 4 日

0 投票

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

カテゴリ

ヘルプ センター および File ExchangeLoops and Conditional Statements についてさらに検索

質問済み:

2021 年 3 月 4 日

回答済み:

2021 年 3 月 4 日

Community Treasure Hunt

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

Start Hunting!

Translated by