Matlab怎么判断数据的连续性,比如有一列向量里面连续数字从1-100到1-3都有,怎么把所有小于1-10的连续给提出来
先要获取里面连续的段,然后获取里面的小于1~10的
clc;clear
A = [1:2, 1:20, 5:8, 11:20];
c1 = 1;
arrset = cell(0,0);
while(c1<numel(A))
c2 = 0;
while (c1+c2+1<=numel(A)&&A(c1)+c2+1==A(c1+c2+1))
c2 = c2+1;
end
if(c2>=1)
arrset= [arrset;(A(c1:1:c1+c2))];
end
c1 = c1 + c2 +1;
end
p = cellfun(@(i)(min(i)>=1)&&(max(i)<=10), arrset); % 把所有小于1-10的连续给提出来
arrset = arrset(p);
celldisp(arrset)
结果:
arrset{1} =
1 2
arrset{2} =
5 6 7 8
致谢我原先的Perishare百度回答:
matlab如何判断一组数是连续的?_百度知道