Matlab - While dentro de While

 
Vista:
sin imagen de perfil
Val: 54
Ha aumentado su posición en 2 puestos en Matlab (en relación al último mes)
Gráfica de Matlab

While dentro de While

Publicado por Milena (30 intervenciones) el 23/12/2019 14:06:06
Hola, con este codigo

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
xi=[1 2 3 4 5 6 7 8 9 10]'
[m n]=size(xi)
k=3
i=1
k_i=1
while k_i<=k
    while i<m
    Dato=xi(i)*xi(i+k_i)
    Matriz(i)=Dato
    i=i+1
    end
    Resultados(k_i)=sum(Matriz)
    k_i=k_i+1
    i=1
 end

Estoy intentando obtener los siguientes resultados:
While

Lo que espero es que primero se haga el while interno con k=1, y al pasar a k=2, vuelva a empezar el while interno, pero no me esta acumulando los datos en la matriz de resultados, que error tengo?
Gracias.
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

While dentro de While

Publicado por JOSE JEREMIAS CABALLERO (5917 intervenciones) el 23/12/2019 18:49:08
algunas modificaciones para que funcione el while interno.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
clear
xi=[1 2 3 4 5 6 7 8 9 10]';
[m, n]=size(xi);
k=3;
k_i=1;
while k_i<=k
    i=1
    while i<m-2
        papa=i+k_i
    Dato=xi(i)*xi(i+k_i)
    Matriz(i)=Dato
    i=i+1
    end
    Resultados(k_i)=sum(Matriz)
    k_i=k_i+1
 end
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
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

While dentro de While

Publicado por JOSE JEREMIAS CABALLERO (5917 intervenciones) el 24/12/2019 13:23:39
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
clear
xi=[1 2 3 4 5 6 7 8 9 10]';
m=length(xi);
k=3;
k_i=1;
while k_i<=k
    i=1;
    while i<=m-k_i
    Matriz(i,1)=xi(i)*xi(i+k_i);
    i=i+1;
    end
    Matriz
    Resultados(1,k_i)=sum(Matriz);
    clear Matriz
    k_i=k_i+1;
end
 Resultados


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
>> while_doble
Matriz =
 
     2
     6
    12
    20
    30
    42
    56
    72
    90
 
 
Matriz =
     3
     8
    15
    24
    35
    48
    63
    80
 
 
Matriz =
     4
    10
    18
    28
    40
    54
    70
 
 
Resultados =
   330   276   224

Saludos
JOSE JEREMIAS CABALLERO
Asesor de Proyectos con Matlab
Servicios de programación matlab
Servicio de Asesoría Online en 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
1
Comentar
sin imagen de perfil
Val: 54
Ha aumentado su posición en 2 puestos en Matlab (en relación al último mes)
Gráfica de Matlab

While dentro de While

Publicado por Milena (30 intervenciones) el 26/12/2019 20:25:36
Muchisimas gracias !!
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