Matlab - Problemnas con Lazo While

 
Vista:
sin imagen de perfil

Problemnas con Lazo While

Publicado por Marco Antonio (61 intervenciones) el 03/10/2017 19:05:19
Buenas tengo un lazo while pero cuando lo ejecuto no para sigue ejecutando y tengo que cerrar matlab, y no se que hacer y que poner en numind

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
m=0;j=1;
while j<numind
    macho=x11(j);hembra=x11(j+1)
    r=rand(1)
    if r<=0.8
    ptocruce=randi([1,42],1)
    Mas1=2^ptocruce-1
    mane1=(2^Max_Number_of_Bits)-Mas1
    a=bitand(round(hembra),round(mane1))
    b=bitand(round(macho),round(mane1))
    c=bitand(round(hembra),round(Mas1))
    d=bitand(round(macho),round(Mas1))
    w1=bitor(d,a)
    w2=bitor(c,a)
    else
    w1=x11(j)
    w2=x11(j+1)
    end
    x12(j)=w1
    x12(j+1)=w2
end
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 JESUS DAVID ARIZA ROYETH
Val: 3.309
Plata
Ha mantenido su posición en Matlab (en relación al último mes)
Gráfica de Matlab

Problemnas con Lazo While

Publicado por JESUS DAVID ARIZA ROYETH (1818 intervenciones) el 03/10/2017 21:02:43
no es necesario que cierres Matlab con Ctrl+C puedes detener el proceso, ahora antes del end deberìa ir por lo menos un j=j+1; :

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
m=0;j=1;
while j<numind
macho=x11(j);hembra=x11(j+1)
r=rand(1)
if r<=0.8
ptocruce=randi([1,42],1)
Mas1=2^ptocruce-1
mane1=(2^Max_Number_of_Bits)-Mas1
a=bitand(round(hembra),round(mane1))
b=bitand(round(macho),round(mane1))
c=bitand(round(hembra),round(Mas1))
d=bitand(round(macho),round(Mas1))
w1=bitor(d,a)
w2=bitor(c,a)
else
w1=x11(j)
w2=x11(j+1)
end
x12(j)=w1
x12(j+1)=w2
j=j+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
0
Comentar
sin imagen de perfil

Problemnas con Lazo While

Publicado por Marco Antonio (61 intervenciones) el 03/10/2017 21:04:34
y que valor le doy a numind en la primera parte de while j<numind
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
Imágen de perfil de JESUS DAVID ARIZA ROYETH
Val: 3.309
Plata
Ha mantenido su posición en Matlab (en relación al último mes)
Gráfica de Matlab

Problemnas con Lazo While

Publicado por JESUS DAVID ARIZA ROYETH (1818 intervenciones) el 03/10/2017 21:15:57
numind eso ya depende de lo que estés haciendo, debe ser mayor o igual a uno , este sería como el número de iteraciones o el número de índices a emplear , ya lo define el usuario según la aplicación o lo que esté haciendo
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
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

Problemnas con Lazo While

Publicado por JOSE JEREMIAS CABALLERO (5917 intervenciones) el 03/10/2017 22:56:18
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
clear all
m=0;j=1;
x11=2*rand(1,5);
Max_Number_of_Bits=42;
numind=length(x11);
while j<numind
macho=x11(j);hembra=x11(j+1);
r=rand;
if r<=0.8
ptocruce=randi([1,42],1);
Mas1=2^ptocruce-1;
mane1=(2^Max_Number_of_Bits)-Mas1;
a=bitand(round(hembra),round(mane1));
b=bitand(round(macho),round(mane1));
c=bitand(round(hembra),round(Mas1));
d=bitand(round(macho),round(Mas1));
w1=bitor(d,a);
w2=bitor(c,a);
else
w1=x11(j);
w2=x11(j+1);
end
x12(j)=w1;
x12(j+1)=w2;
j=j+1;
end
x12

1
2
3
4
5
6
7
8
9
>> aleatorio_randi1
x12 =
    2.0000    3.0000    0.6683    1.0000         0
>> aleatorio_randi1
x12 =
    1.7189    3.0000    1.0000         0         0
>> aleatorio_randi1
x12 =
    1.0000    0.1192    1.3639         0         0


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
2
Comentar