Matlab - problemas con if, switch y waitforbuttonpress

 
Vista:

problemas con if, switch y waitforbuttonpress

Publicado por Isaac (2 intervenciones) el 23/04/2013 22:05:31
Hola, estoy realizando un programa en matlab y tengo unos cuantos problemas.

Lo que quiero es abrir un numero de manera aleatoria, pero que al mismo tiempo matlab evalúe si hay una entrada del teclado. Entonces, si se presionara una tecla matlab reiniciaría el ciclo 'for', si en la siguiente vez que se inicie el ciclo no se presiona una tecla se tendría que abrir el número y así sucesivamente. Para esto estoy utilizando el comando 'if', pero tengo problemas para que corra el programa. Había utilizado el comando 'switch', pero me dió la misma cantidad de problemas.
Si alguien pudiera ayudarme :!

El código es el siguiente:

n=6; %numero de repeticiones del loop

for i = 1:n;

% Aquí es donde quiero tener las dos opciones, una que
% me permita reiniciar el loop si se presiona una tecla y
% otra, que cuando no se presione ninguna tecla me
% muestre un número aleatorio.
if senal = waitforbuttonpress || getkey
continue % Con esto se reinicia mi ciclo

else
i=randperm(3,1); % Esto me muestra mi número aleatorio
disp(i)
pause(1)

end
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

problemas con if, switch y waitforbuttonpress

Publicado por Isaac (2 intervenciones) el 24/04/2013 21:44:18
¿Qué comando o algoritmo podría utilizar en vez de 'waitforbuttonpress' o 'getkey' para evitar el error?
Gracias por sus sugerencias
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
Val: 6
Ha aumentado su posición en 9 puestos en Matlab (en relación al último mes)
Gráfica de Matlab

problemas con if, switch y waitforbuttonpress

Publicado por Miriam (14 intervenciones) el 26/04/2013 20:27:06
Intenta el siguiente codigo


valor=input('Dame un número ', 's');

b=1;
while b==1



if num2str(str2double(valor))=='NaN';
b=3;
else
valor2=valor;
valor=(input('Dame un número ', 's'));
b=1;
end




end

disp(['El último valor es: ', valor2]);
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