我想弄清楚在给定 2 行元胞数组中的 2 行值时如何获取列索引。
我不知道为什么我很难弄清楚这一点,因为您可以很容易地找到 1 列值。
例如,给出下面的元胞数组:
{1,1,1,2,2,2;'apple','banana','orange','apple','banana','orange'}.'
我想找到 column1 = 2
和 column2 = 'banana'
输出应该是5。
我该怎么做?
最佳答案
根据@LuisMendo 的说法,我将假设一个元胞数组
cellarray = {1,1,1,2,2,2;'apple','banana','orange','apple','banana','orange'}.';
values = cell2mat(cellarray(:,1));
tmp1 = values == 1;
tmp2 = strcmp('banana', cellarray(:,2));
tmp3 = tmp1+tmp2;
result = find(tmp3 == 2);
这将从元胞数组中获取值,然后搜索等于 1
的所有值。然后它使用 strcmp
查找与 'banana'
的所有匹配项,并将该结果添加到按值获得的逻辑数组中。最后它搜索两个实例都为真的地方,即 tmp3
等于 2
的地方。
哇哦!我第一次打高尔夫球。 59、51字节!
find(((([A{:,1}])==1)'+strcmp('banana',A(:,2)))==2)
=
2
关于matlab - 根据元胞数组中的内容查找列索引,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32589814/