search the second column of a cell array according to the values in the first column
3 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
Sergio Rossi
le 7 Mai 2014
Modifié(e) : Sergio Rossi
le 7 Mai 2014
I'm working in MATLAB and I have the following cell array:
pippo =
'FSize' [ 10]
'MSize' [ 10]
'rho' [ 997]
'u2' [ 86.2262]
'n' [ 100]
'nimp' [ 2]
'impeller1dir' [1x66 char]
'impeller2dir' [1x66 char]
'comparedir' [1x57 char]
I would like to return the content of the cell, in the second column, which corresponds to a given value for the cell in the first column of the first row. I.e., if the input is 'nimp', I want to return 2. Is there a simple way to do this which doesn't involve looping, or is looping the only way?
0 commentaires
Réponse acceptée
Plus de réponses (1)
Roberto
le 7 Mai 2014
I'd recommend the use of structures:
pippo.FSize= 10;
pippo.MSize= 10;
pippo.rho= 997;
pippo.u2= 86.2262;
So when you want a member, just type:
>> pippo.FSize
ans =
10
but if it cannot be done, try to use a code like this:
pippo = {'test',4;'Some',5} ;
searched = 'some';
returned = [];
for i = 1: numel(pippo)/2
if strcmpi(pippo{i,1},searched)
returned = pippo{i,2};
end
end
disp(returned);
0 commentaires
Voir également
Catégories
En savoir plus sur Whos 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!