gpt4 book ai didi

matlab - 在向量中查找向量

转载 作者:太空宇宙 更新时间:2023-11-03 19:34:21 24 4
gpt4 key购买 nike

我有一个 (7,6) 逻辑数组,如下所示:

有效Y2_A =

 0     0     0     0     0     0
0 0 0 0 0 0
0 0 0 1 0 0
1 0 0 1 1 0
1 1 1 0 0 1
1 1 1 0 1 1
0 1 1 1 1 1

我想创建一个 (1,6) 逻辑向量“contig”来显示上述矩阵是否在每列中有 3 个连续的。例如,结果将是:

重叠群=

[1, 1, 1, 0, 0 ,1];

我试过 strfind 但有两个问题,第一个是它是一个列数组(转置根本没有帮助。或者需要大量额外的代码才能临时使用。第二个问题是因为它是一个逻辑数组,如果我将它更改为一个字符串,所有值都变为 true 或 false,并且试图让它工作也没有结果。有没有一种方法可以搜索列向量以查找是否有另一个, 特定的列向量存在于其中的任何地方?我想在每一列中搜索 [1; 1; 1];

谢谢

最佳答案

怎么样

t = imfilter( validY2_A, ones(3,1) );
contig = any( t >= 3, 1 );

或者(如@Dan 所建议):

t = conv2( validY2_A, ones(3,1), 'same');
contig = any( t >= 3, 1 );

正如@GeorgeAprilis 所建议的,可能需要先将逻辑矩阵 validY2_A 转换为 double:

validY2_A = double( validY2_A );

关于matlab - 在向量中查找向量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15767436/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com