在matlab中找到满足2个条件的公共索引
find common indices that satisfy 2 conditions in matlab
我有一个非常大的二维数组 (8000x6000)。
同一个数组(cond1 和 cond2)满足两个条件,我想调和它们,找到满足两个条件的公共索引
F=rand(8000,6000);
ind1=find(F>0.5);ind1 stores indices that satisfy cond1
第二个条件(cond2)是索引是否满足条件
newF=zeros(8000,6000);
[x,y]=meshgrid(1:6000,1:8000);
newF(x+y>200)=1;
新数组newF在不满足新条件时值为零,而在满足条件时值为1。
我想找到满足两个条件的 F 和 newF 的公共索引。
当我试图找到 ind2(r,c)
[r,c]=find(newF>0)
我无法协调 ind1 和 r,c 以找到共同的索引。
有人可以帮我吗?
通过应用条件获得的逻辑矩阵相乘,element wise and then use find
找到共同的行和列下标。即
[r, c] = find((F>0.5) .* (newF>0));
% .* is also replaceable by &. Use whichever is faster
我有一个非常大的二维数组 (8000x6000)。 同一个数组(cond1 和 cond2)满足两个条件,我想调和它们,找到满足两个条件的公共索引
F=rand(8000,6000);
ind1=find(F>0.5);ind1 stores indices that satisfy cond1
第二个条件(cond2)是索引是否满足条件
newF=zeros(8000,6000);
[x,y]=meshgrid(1:6000,1:8000);
newF(x+y>200)=1;
新数组newF在不满足新条件时值为零,而在满足条件时值为1。
我想找到满足两个条件的 F 和 newF 的公共索引。 当我试图找到 ind2(r,c)
[r,c]=find(newF>0)
我无法协调 ind1 和 r,c 以找到共同的索引。 有人可以帮我吗?
通过应用条件获得的逻辑矩阵相乘,element wise and then use find
找到共同的行和列下标。即
[r, c] = find((F>0.5) .* (newF>0));
% .* is also replaceable by &. Use whichever is faster