rouge
|
|
Group: Forum Members
Posts: 32,
Visits: 73
|
Dear all, right now I am programming my first inquisit program. Within the learning trial subjects shall be presented a string of letters. After presentation, subjects are asked to write down the string of letters. If they do not write the string down correctly, they are presented the same string of letters again. Generally, they have the opportunity to reread the actual string of letters three times. Afterwards, a new string of letters is presented (the other one does not appear again). At the moment, the expermiment does not allow to right down any letters during the learning trial. Could anybody help me please with this problem? I hope that it my programmed text does not present total trash :-) . Thank you very much in advance! And best greetings.
The learning trials look like this (I programmed one trial for each string of words) <trial MXRVXT> / stimulustimes = [1=fixation;1000=MXRVXT] / beginresponsetime = 1000 / inputdevice = keyboard / correctresponse = (MXRVXT) /pretrialpause = 500 /branch = [if (trial.MXRVXT.correct) 0] /branch = [if (trial.MXRVXT.count > 3) 0] </trial> <trial VMTRRRR> / stimulustimes = [1=fixation;1000=MXRVXT] / beginresponsetime = 1000 / correctresponse = (MXRVXT) /pretrialpause = 500 /branch = [if (trial.MXRVXT.correct) 0] /branch = [if (trial.MXRVXT.count > 3) 0] </trial>
and the programmed block is here:
<block training> / trials = [1-16 = noreplace(MXRVXT, VMTRRRR, MXTRRR, VXVRMXT, VXVRVM, VMRVVVV, MXRTMVR, VMRMXTR, MXR, VMRVXVR, MVRVM, VMRMVRV, VMRMVXR, MXRTVXT, MXRMVXR, MVXTR)] / bgstim = (schreiben_erinnerung) /preinstructions = (welcome, training_instruction) </block>
|
|
|
Dave
|
|
Group: Administrators
Posts: 13K,
Visits: 108K
|
#1:
If you want subjects to *type in a string* as response, you ought to use <openended> elements, not <trial> elements. #2:
/ correctresponse = (MXRVXT)
is wrong, you must use quotes
/ correctresponse = ("MXRVXT")
if you want it to work.
#3: /branch = [if (trial.MXRVXT.correct) 0] /branch = [if (trial.MXRVXT.count > 3) 0]
unclear what those branches are supposed to achieve or why they would be even necessary.
#4:
<trial VMTRRRR> / stimulustimes = [1=fixation;1000= MXRVXT] / beginresponsetime = 1000 / correctresponse = ( MXRVXT) /pretrialpause = 500 /branch = [if (trial. MXRVXT.correct) 0] /branch = [if (trial. MXRVXT.count > 3) 0] </trial>
I'm puzzled why <trial VMTRRR> would /branch based on stuff that happened in <trial MXRVXT> or why it would try to collect the same response and display the same stimulus.
|
|
|
rouge
|
|
Group: Forum Members
Posts: 32,
Visits: 73
|
Dear Dave, thank you very very much for your fast and helpful answer! This is a wonderful service Inquisit provides! I changed both aspects you wrote about. Moreover, you asked me about following commands:
1.) /branch = [if (trial.MXRVXT.correct) 0] 2.) /branch = [if (trial.MXRVXT.count > 3) 0]
I added both commands with following reason:
During learning trial participants shall be presented with a string of words, e.g. MXRVXT.
My intention of the first command was, that in case a participants repeats the string of letters correctly, she immediately is presented a next trial with a further string of letters. In case the participant does not remember the string of letters correctly, e.g writes down NXRXTV instead of MXRVXT, the string of letters (MXRVXT) shall reappea (that is why I wrote command 1: if the word is written down correctly, than the next trial with a new word begins - I thought that "0" would forward to the next trial?).
However, if the participant does not remember the strings of letters correctly for three times, the programm shall present a new string of words (this was what I intended with the second command - ). The old string (MXRVXT) should not reappear again.
Did I produce a misery?
Again: thank you very much in advance for your help. And best greetings!
|
|
|
rouge
|
|
Group: Forum Members
Posts: 32,
Visits: 73
|
And also: Thank you for the mark #4: this was a mistake!
|
|
|
Dave
|
|
Group: Administrators
Posts: 13K,
Visits: 108K
|
Well, no, those /branches won't do that. Particularly, nowhere in your syntax do you instruct the script to repeat a given trial in case of an incorrect response. The correct way to go about this is:
<block myblock> / trials = [1-2=noreplace(ab, cd)] </block> <openended AB> / stimulusframes = [1=typeAB] / validresponse = (anyresponse) / correctresponse = ("AB") / branch = [if (openended.ab.error && openended.ab.count < 3) openended.ab] </openended> <text typeAB> / items = ("Type the letters 'AB'") / position = (50%, 40%) </text> <openended CD> / stimulusframes = [1=typeCD] / validresponse = (anyresponse) / correctresponse = ("CD") / branch = [if (openended.cd.error && openended.cd.count < 3) openended.cd] </openended> <text typeCD> / items = ("Type the letters 'CD'") / position = (50%, 40%) </text>
|
|
|
rouge
|
|
Group: Forum Members
Posts: 32,
Visits: 73
|
Dear Dave, thank you very much for your help! I will implement your recommendations! Best greetings and have a good day.
|
|
|
rouge
|
|
Group: Forum Members
Posts: 32,
Visits: 73
|
Dear Dave, your suggestions of following branches
<openended VXVRMXT> / stimulusframes = [1=fixation; 10=VXVRMXT] / validresponse = (anyresponse) / correctresponse = ("VXVRMXT") / branch = [if (openended.VXVRMXT.error && openended.VXVRMXT.count < 3) openended.VXVRMXT] </openended> <openended VXVRVM> / stimulusframes = [1=fixation; 10=VXVRVM] / validresponse = (anyresponse) / correctresponse = ("VXVRVM") / branch = [if (openended.VXVRVM.error && openended.VXVRVM.count < 3) openended.VXVRVM] </openended>
<block training> / trials = [1-2=noreplace(VXVRMXT, VXVRVM)] / bgstim = (schreiben_erinnerung) /preinstructions = (welcome, training_instruction) </block>
are implemented now. Thank you very much for your help! I would like to ask you another question: Right now the string of rows (e.g. VXVRVM) and the little window, in which participants write down their remembered lettes are presented at the same time, over each other. I would like to programm it in a way that the letters are presented first, and afterwards the windown pops up, in which the participant writes down his remembered string of letters. I am not quite sure how I can programm that within <openended>, since it does not offer the same opportunity like <trials>. Therefore, do I have to combine a <trial> with an <openended> within one block, meaning presenting the string of letters within a <trial>, then masking the string of letters, and then starting an <openended> with the opportunity that the participant can write down the remembered string of words? Thank you very much in advance and all the best!
|
|
|
Dave
|
|
Group: Administrators
Posts: 13K,
Visits: 108K
|
<openended> elements' /stimulusframes and /stimulustimes attributes work exactly like <trial> elements'. And if your Inquisit installation is up-to-date, the box will not be shown until the last stimulus given in the attribute has been displayed.
/ stimulustimes = [0=FIXATION; 500=LETTERSTRING; 1000=MASK]
would display FIXATION at the start of the <openended> trial, a LETTERSTRING 500ms later and a MASK another 500ms later. The textbox will only show up after the MASK has been displayed.
|
|
|
rouge
|
|
Group: Forum Members
Posts: 32,
Visits: 73
|
Dear Dave, thank you very much for your kind help. It works perfectly! Best greetings!
|
|
|
Dave
|
|
Group: Administrators
Posts: 13K,
Visits: 108K
|
|
|
|