matlab - 根据元胞数组中的内容查找列索引

标签 matlab matrix vector cell-array

我想弄清楚在给定 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/

相关文章:

matlab - MATLAB 中的粗糙线

C++ 可以使用 move 语义学将数据从一个 vector move 到另一个 vector

C++ Sign 函数——来自 MatLab?

matlab - 在输入对话框中显示图形matlab

python - tensorflow 中的张量形状

python - 在python中按优先级对矩阵进行排序

arrays - 如何将多个向量(包含空向量)合并为一个新的向量?

R 数据表 - 创建一个新列,其中每个元素都是一个值列表

matlab - 将 Matlab 脚本作为 ExternalCode 组件运行

c++ - 顺时针旋转二维矩阵会产生奇数结果