How to compare a structure member with string ?
13 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
farzad
le 6 Mai 2020
Modifié(e) : Walter Roberson
le 6 Mai 2020
Hi all
I am reading an excel file that contains one string column and one numerical. I want to
compare the strings read from excel with string variables in my code. here in the code
mulnames has a structure like
{'test1'} {[750]}
{'test2'} {[75]}
so I need to compare test1 and test2 names with a variable called filename. but doing the following, I get empty array. ( the condition says, if the first column name is equal
to the variable, take the corresponding number and put it in an array)
mulnames=readcell('Ms.xlsx')
multip=[];
for fe=1:size(fnames)
if strcmp(filename,mulnames(fe,1))
multip=mulnames{fe,2}
end
end
0 commentaires
Réponse acceptée
Walter Roberson
le 6 Mai 2020
Modifié(e) : Walter Roberson
le 6 Mai 2020
Do not use size(fnames) there: use numel(fnames)
However you have the problem that you are using number of items belonging to fnames but the array mulnames might have a completely different size unrelated to that.
My guess:
mulnames=readcell('Ms.xlsx');
multip=[];
for fe=1:size(mulnames)
if strcmp(filename,mulnames(fe,1))
multip=mulnames{fe,2};
break
end
end
which can more easily be done as:
mulnames = readcell('Ms.xlsx');
mask = strcmp(filename, mulnames(:,1));
multip = mulnames(mask, 2);
0 commentaires
Plus de réponses (0)
Voir également
Catégories
En savoir plus sur Structures 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!