matlab怎么找出一串数中的连续的数字

要求:matlab怎么找出一串数中的连续的数字

来源:https://www.baidu.com/link?url=GlbQhJ6iJZOx1usMa2jk7zKkJyEtTcDu9icYoXbUJiFQKJzyQHMsEKRnX5c9o1LuhVAHVykpaPwiB0rW7LaFZ3Nn1h-ykgyJHluBiOCoQoC&wd=&eqid=d1e3413a00041f70000000025d78e85c

例:

clc;
clear
a  = [1 1 2 3 6 7 8 9 10 11 12 14 16 17 19 20 22];%% Arrey objection
b  = cell(0,0);% RecordArrey ranking 元胞和数组的区别?
num = [];%记录连续数组长度
ct = 1;%累计数
head = 1;%头
tail = 1;%尾
while(ct     head = ct; %ct为累计头
    ct = ct+1; %不断累积
    while(ct<=numel(a)&&(a(ct)-a(ct-1))==1) %当ct         ct = ct+1;                          %则累加
    end
    tail = ct-1;                            %否则ct-1位为尾数
    b = [b;a(head:1:tail)'];                %将第一组数存在元胞中
    num = [num; tail-head+1];               %并记录该连续数组长度
end
if(tail     b = [b;a(tail+1)'];                    %将最后一个数值单独放在元胞最后,并保持在b中
    num = [num; 1];                        %将最后数组长度定为1
end
fprintf('最长的连续数组是:\n')
disp(b{max(num)==num})

你可能感兴趣的:(Matlab)