Incorrect Logical Condition Statement

1 view (last 30 days)
Jake Bowd
Jake Bowd on 16 Jun 2020
Commented: KSSV on 16 Jun 2020
Hi,
I have a variable (let's call it 'data') and dependent on whether the user is left ('L) or right ('R') footed I wish for the respective data to be called.
I.e. for if 'L' then I want ('data') to be: 'data_l'
If 'R' is selected then I want ('data') to be: 'data_r'
Essentially I wish to add in the respective 'l' or 'r' to the end of the name in accordance to whether the person is left or right sided.
Leg = 'L'; %change between L and R
if Leg == 'L' ;
LEG = 'l';
else Leg == 'R';
LEG = 'r';
end
Tables.knee_flex_LEG % would like LEG to change to 'l' or 'r' accordingly
Unrecognized table variable name 'knee_flex_LEG'.
I believe the if function is the one I need to use. However I am unsure how to add the option into the script

Accepted Answer

KSSV
KSSV on 16 Jun 2020
Leg = 'L'; %change between L and R
if strcmp(Leg,'L') ;
LEG = 'l';
else strcmp(Leg,'R');
LEG = 'r';
end
id = 'knee_flex_LEG' ;
id = strrep(id,'LEG',LEG)
  2 Comments
Jake Bowd
Jake Bowd on 16 Jun 2020
Hi KSSV,
This works great and thank you for that.
However, what would you recommend I do if for example it isn't just the 'knee_flex_LEG' variable and infact there's more i.e. also a 'knee_add_LEG' and 'knee_rot_LEG' variables.
If I am only concerned with the Right variables is there a way to apply 'r' ti the end of each variable?
KSSV
KSSV on 16 Jun 2020
You can replace all the variables at once using strrep.
str{1} = "knee_add_LEG" ;
str{2} = "knee_rot_LEG" ;
str = strrep(str,'Leg',LEG)

Sign in to comment.

More Answers (1)

Stephen23
Stephen23 on 16 Jun 2020
Edited: Stephen23 on 16 Jun 2020
Leg = 'L'; %change between L and R
vnm = sprintf('knee_flex_%s',lower(Leg));
Tables.(vnm)

Categories

Find more on MATLAB in Help Center and File Exchange

Products

Community Treasure Hunt

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

Start Hunting!