Matlab waitforbuttonpress
Geplaatst: do 20 mei 2010, 15:43
Ik heb een matlab file, waarin ik een figuur heb gemaakt. Je krijgt een geluidje te horen en moet zeggen of deze naar links of naar rechts beweegt. Eerst had ik dit geschreven waarin een linker of rechter muisklik respectievelijk een linker rechter antwoord gaven.
Nu moet ik dit omschrijven zodat je het met het toestenbord kan antwoorden. 'c' staat voor links, 'n' staat voor rechts.
Ik had het volgende geschreven, maar dat werkt niet goed:
flag_stop = 0;
figure(1);
tic
while flag_stop == 0;
w = waitforbuttonpress;
if w == 0; % mouse button
plot(0.5,0.5,'o','markersize',20,'color','k','markerfacecolor','b','linewidth',2)
button = get(gcf, 'SelectionType');
if strcmp(button,'normal') || strcmp(button,'alt')
if strcmp(button,'normal')
rt(j) = toc;
answer(j) = 0; %l
elseif strcmp(button,'alt')
rt(j) = toc;
answer(j) = 1; %r
end
flag_stop = 1;
end
if w == 1; % keyboard button
key = abs(get(gcf,'CurrentCharacter'));
if key == 27; % esc
... (close and save)
elseif key == 13;% enter
... (play sound again)
elseif key == 99;
plot(0.5,0.5,'o','markersize',20,'color','k','markerfacecolor','b','linewidth',2)
rt(j) = toc;
answer(j) = 0; %links
elseif key == 110;
plot(0.5,0.5,'o','markersize',20,'color','k','markerfacecolor','b','linewidth',2)
rt(j) = toc;
answer(j) = 1; %rechts
end
flag_stop = 1; end
end
Eerst had ik dus alles wat hierboven staat, in zwart en rood (ZONDER GROEN). Nu heb ik dus alles wat hierboven staat en zou ik het rode gedeelte eigenlijk niet hoeven te gebruiken.
Maar nu blijkt dat als ik mijn figuur geopend heb, dat ik de eerste keer met de muis moet klikken en vervolgens kan ik pas met het toetsenbord antwoorden gaan geven. Hoe krijg ik dat opgelost???????? Ik dacht eerst dat het misschien zou komen omdat het figuur niet actief zou zijn, maar volgens mij is die wel actief.
Kan iemand mij helpen?
Gr. R.
Nu moet ik dit omschrijven zodat je het met het toestenbord kan antwoorden. 'c' staat voor links, 'n' staat voor rechts.
Ik had het volgende geschreven, maar dat werkt niet goed:
flag_stop = 0;
figure(1);
tic
while flag_stop == 0;
w = waitforbuttonpress;
if w == 0; % mouse button
plot(0.5,0.5,'o','markersize',20,'color','k','markerfacecolor','b','linewidth',2)
button = get(gcf, 'SelectionType');
if strcmp(button,'normal') || strcmp(button,'alt')
if strcmp(button,'normal')
rt(j) = toc;
answer(j) = 0; %l
elseif strcmp(button,'alt')
rt(j) = toc;
answer(j) = 1; %r
end
flag_stop = 1;
end
if w == 1; % keyboard button
key = abs(get(gcf,'CurrentCharacter'));
if key == 27; % esc
... (close and save)
elseif key == 13;% enter
... (play sound again)
elseif key == 99;
plot(0.5,0.5,'o','markersize',20,'color','k','markerfacecolor','b','linewidth',2)
rt(j) = toc;
answer(j) = 0; %links
elseif key == 110;
plot(0.5,0.5,'o','markersize',20,'color','k','markerfacecolor','b','linewidth',2)
rt(j) = toc;
answer(j) = 1; %rechts
end
flag_stop = 1; end
end
Eerst had ik dus alles wat hierboven staat, in zwart en rood (ZONDER GROEN). Nu heb ik dus alles wat hierboven staat en zou ik het rode gedeelte eigenlijk niet hoeven te gebruiken.
Maar nu blijkt dat als ik mijn figuur geopend heb, dat ik de eerste keer met de muis moet klikken en vervolgens kan ik pas met het toetsenbord antwoorden gaan geven. Hoe krijg ik dat opgelost???????? Ik dacht eerst dat het misschien zou komen omdat het figuur niet actief zou zijn, maar volgens mij is die wel actief.
Kan iemand mij helpen?
Gr. R.