choose B or C or D if A does not exist - how to write this?
2 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
Tomaszzz
el 28 de Jul. de 2024
Comentada: Paul
el 28 de Jul. de 2024
Hi all,
I have the following:
switch joint
case 'Knee'
prox = 'HipJC';
dist = 'LEPI';
wand = 'THPA' ;
end
side = {'R','L'};
for i = 1:length(side)
wandMk = data.([side{i},wand]).line;
end
I got the following error: Unrecognized field name "LTHPA", which is because 'LTHPA' does not exist in my structure.
I could use 'THPP' or 'THDA' or 'THDP' instead of 'THPA', because I know these exist. Hence, how could I rewrite the above for this to run?
For example:
if 'THPA' does not exist then
wand = 'THDA' or 'THDA' or 'THDP'
Thanks!
Respuesta aceptada
Paul
el 28 de Jul. de 2024
Create an example structure
data.THDA = 1;data.THPP = 2;data.THDP = 3;
fnames = fieldnames(data)
Field to test
wand = "LTHPA"
Reassign if invalid field
if ~any(strcmp(wand,fnames))
wand = "THDA"
end
data.(wand)
1 comentario
Paul
el 28 de Jul. de 2024
Use isfield instead of strcmp/fieldnames Thanks @Stephen23! How did I not know about that function (rhetorical question)?
Más respuestas (0)
Ver también
Categorías
Más información sobre Environment and Settings en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!