Matlab - datos consecutivos

 
Vista:
sin imagen de perfil

datos consecutivos

Publicado por esteban (4 intervenciones) el 31/08/2017 02:00:03
hola he estado haciendo un código pero llegue a una parte que no puedo resolver espero que alguien pueda ayudarme por ejemplo obtengo estos datos donde la primera columna son años y las otras cuatro columnas son datos
D=
1990 5 6 7 8
1991 3 5 7 0
1992 5 7 9 8
1993 1 5 8 0
1994 2 4 7 2
1995 6 8 0 2
1997 7 3 6 8
1999 8 5 7 6
2000 3 6 3 2
2001 5 5 2 6
2002 2 4 6 8
2003 3 6 0 3
2004 9 2 4 9
2005 2 1 7 8

y necesito buscar los datos para 5 años seguidos (ir encontrando grupos de 5 en la matriz) por ejemplo necesito que me entregue
D=
1990 5 6 7 8
1991 3 5 7 0
1992 5 7 9 8
1993 1 5 8 0
1994 2 4 7 2

D=
1999 8 5 7 6
2000 3 6 3 2
2001 5 5 2 6
2002 2 4 6 8
2003 3 6 0 3

como lo puedo programar es muy complicado ?
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de JOSE JEREMIAS CABALLERO
Val: 6.975
Oro
Ha mantenido su posición en Matlab (en relación al último mes)
Gráfica de Matlab

datos consecutivos

Publicado por JOSE JEREMIAS CABALLERO (5917 intervenciones) el 02/09/2017 13:58:27
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
clear all
A=[
1990	5	6	7	8
1991	3	5	7	0
1992	5	7	9	8
1993	1	5	8	0
1994	2	4	7	2
1995	6	8	0	2
1997	7	3	6	8
1999	8	5	7	6
2000	3	6	3	2
2001	5	5	2	6
2002	2	4	6	8
2003	3	6	0	3
2004	9	2	4	9
2005	2	1	7	8]
 
k=1;
n=0;
 
while k<=size(A,1)
        v=A(k,:);
        for i=k:length(A)-1
            if A(i+1)-A(i)==1
                    v=[v; A(i+1,:)];
                     if size(v,1)==5
                             display(v)
                             v=[];
                             n=1;
                             break
                     end
            else
                      v=[];
                        break;
            end
        end
        if n==1
        k=k+5;
        n=0;
        else
            k=k+1;
        end
end

Saludos
JOSE JEREMIAS CABALLERO
Asesor de Proyectos con Matlab
Servicios de programación matlab



http://matlabcaballero.blogspot.com
https://www.facebook.com/matlabcaballero
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar