Incorrect Logical Condition Statement

조회 수: 2 (최근 30일)
Jake Bowd
Jake Bowd 2020년 6월 16일
댓글: KSSV 2020년 6월 16일
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
  댓글 수: 1
KSSV
KSSV 2020년 6월 16일
Don't use
if Leg == 'L'
use
if strcmp(Leg,'L')

댓글을 달려면 로그인하십시오.

채택된 답변

KSSV
KSSV 2020년 6월 16일
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
Jake Bowd
Jake Bowd 2020년 6월 16일
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 2020년 6월 16일
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)

댓글을 달려면 로그인하십시오.

추가 답변 (1개)

Stephen23
Stephen23 2020년 6월 16일
편집: Stephen23 2020년 6월 16일
Leg = 'L'; %change between L and R
vnm = sprintf('knee_flex_%s',lower(Leg));
Tables.(vnm)

카테고리

Help CenterFile Exchange에서 MATLAB에 대해 자세히 알아보기

제품

Community Treasure Hunt

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

Start Hunting!

Translated by