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

 채택된 답변

Grzegorz Knor
Grzegorz Knor 2011년 9월 1일

1 개 추천

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

댓글 수: 8

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

댓글을 달려면 로그인하십시오.

추가 답변 (0개)

카테고리

도움말 센터File Exchange에서 Performance and Memory에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by