给定两个数组,例如
a = [1,2,3,4];
b = [1,2,3,4;2,3,4,5;3,4,5,6];
判断b中是否包含a(肯定包含的嘛,一下就看出来),用matlab怎么判断呢?
代码如下:
&×& big表示大点的数组,small 代表小一点的数组
function y = containsArray(big,small)
[row_s, col_s] = size(small);
[row_b, col_b] = size(big);
y = 0;
for i = 1:row_b-row_s+1
if big(i:i+row_s-1,:) == small
y = 1;
break;
end
end
代码测试如下:
>> a = [1,2,3,4];
>> b = [1,2,3,4;2,3,4,5;3,4,5,6];
>> containsArray(b,a)
ans =
1
>> a = [1,2,3,5];
>> containsArray(b,a)
ans =
0
>> a = [2,3,4,5;3,4,5,6];
>> containsArray(b,a)
ans =
1
>>
所以只需要新建一个文件,然后文件名字为:
把代码复制进去,然后在其他代码中调用就好了