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

 Accepted Answer

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

8 Comments

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
fprintf('type 1 to plot')
sel=waitinput('>>',5);
if sel == 1
plot(1:10)
end
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?
cprintf.m is here:
http://www.mathworks.nl/matlabcentral/fileexchange/24093-cprintf-display-formatted-colored-text-in-the-command-window
Hmm... I do not have any trouble. Could you paste some code and error message?
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
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.
thanks a lot Grzegirz for your all aids

Sign in to comment.

More Answers (0)

Categories

Community Treasure Hunt

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

Start Hunting!