我有一个10000x5
带有格式的大小矩阵[id, year, month, day, value]
例如:
[ 1 2004 1 1 100;
1 2004 1 2 201;
2 2004 1 1 30;
2 2004 1 2 123;
2 2005 1 1 300;
2 2005 1 2 103;
...]
给定搜索条件,我想过滤并复制这个矩阵的一个子集到另一个矩阵中year==2004 && month==1 && day==1
。所以我的想法是首先找出与给定标准匹配的向量的行索引是什么。
首先我尝试过,
[row] = find((data(:,2) == 2004 && data(:,3) == 1 && data(:,4) == 1));
但它似乎不适用于多个标准,我得到了错误
Operands to the || and && operators must be convertible to logical scalar values.
接下来我尝试了
key = [2004 1 1];
[~,index] = ismember(data,key,'rows')
但它说
Error using ismember. A and S must have the same number of columns.
有什么方法可以优化语法,或者使用其他 API 来搜索多个条件?