search the second column of a cell array according to the values in the first column
3 次查看(过去 30 天)
显示 更早的评论
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 个评论
采纳的回答
更多回答(1 个)
Roberto
2014-5-7
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 个评论
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Whos 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!