going next command after specified time

does anyone know, is there this capability in MATLAB? : when i run a m-file, it asks some questions for example it asks: 'if you want to plot type 1 and enter' then until i don't enter 1, not going next command line and stay in this question. but i need displays countdown and if i didn't enter 1, then after finishing time, automatically goes next command.
thanks

 Respuesta aceptada

Grzegorz Knor
Grzegorz Knor el 1 de Sept. de 2011

1 voto

If you use the INPUT function you can try replace it with the WAITINPUT:
Grzegorz

8 comentarios

mohammad
mohammad el 1 de Sept. de 2011
really thanks for replying Grzegorz, please tell me in which line i must use this :
now i have this:
fprintf('type 1 to plot')
sel=input('>>');
if sel == 1
plot.....
end
but i need this:
fprintf('type 1 to plot')
if sel==1 for 5s
plot
end
Grzegorz Knor
Grzegorz Knor el 1 de Sept. de 2011
fprintf('type 1 to plot')
sel=waitinput('>>',5);
if sel == 1
plot(1:10)
end
mohammad
mohammad el 1 de Sept. de 2011
thanks, it works perfect!
i have a little problem, i also use cprint function but this m file has problem with waitinput.m , do you know why?
mohammad
mohammad el 1 de Sept. de 2011
cprintf.m is here:
http://www.mathworks.nl/matlabcentral/fileexchange/24093-cprintf-display-formatted-colored-text-in-the-command-window
Grzegorz Knor
Grzegorz Knor el 2 de Sept. de 2011
Hmm... I do not have any trouble. Could you paste some code and error message?
mohammad
mohammad el 2 de Sept. de 2011
Grzegorz, there is no error message because matlab hanks, but i knew that when i put another command (like 2+2) between calling waitinput and cprint, this problem not happens.
in under form there is problem:
t=10;
cprintf('blue','in 10s type 1 to plot')
sel=waitinput('>>',t);
if sel == 1;
figure, plot(R_H_1(:,1),R_H_1(:,2),'k'),xlim([0,25]),grid on
hold on
plot(r(:,1),r(:,2),'r'),xlim([0,25]),grid on
plot(r(:,1)+timeShift,r(:,2),'c'),ylim([0,700]),grid on,xlim([0,25])
hold off;
legend('REFRENCE','INPUT','INPUT AFTER APPLYING TIME SHIFT')
end
cprintf('blue',' in 10s type 2 to plot ')
sel=waitinput('>>',t);
if sel == 2;
subplot(3,1,2);plot(r(:,1),r(:,2),'r');ylim([0 700]),grid on; legend('INPUT')
subplot(3,1,1);plot(R_H_1(:,1),R_H_1(:,2),'k');ylim([0 700]),grid on;legend('REFRENCE')
subplot(3,1,3);plot(r(:,1)+timeShift,r(:,2),'c');ylim([0 700]),grid on;legend('INPUT AFTER APPLYING TIME SHIFT'),xlim([0,25])
end
cprintf('g','**************************************************************************************')
fprintf(1,repmat('\n',1,1));
waitinput really is a nice code saving a lot my time
thanks dear Grzegorz
Grzegorz Knor
Grzegorz Knor el 2 de Sept. de 2011
I have no idea, because your code in my Matlab (7.10.0.499 - R2010a on Linux 2.6.38-11-generic-pae) works seamlessly.
mohammad
mohammad el 2 de Sept. de 2011
thanks a lot Grzegirz for your all aids

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Más información sobre Performance and Memory en Centro de ayuda y File Exchange.

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by