Experiment won't stop


Author
Message
Mirthe
Mirthe
Partner Member (500 reputation)Partner Member (500 reputation)Partner Member (500 reputation)Partner Member (500 reputation)Partner Member (500 reputation)Partner Member (500 reputation)Partner Member (500 reputation)Partner Member (500 reputation)Partner Member (500 reputation)
Group: Forum Members
Posts: 4, Visits: 13
Dave - Wednesday, August 16, 2017
Mirthe - Wednesday, August 16, 2017
Hi, I have a question concerning my experiment. While the experiment runs fine, after completing the last experimental black, the experiment starts again. I can't seem to figure out why this happens.

<expt >
/ blocks = [ 1 = Practice_Consistent1;
    2 = Practice_inConsistent1;
    3 = Consistent1;
    4 = inConsistent1;
    5 = Consistent2;
    6 = inConsistent2;
    7 = Consistent3;
    8 = inConsistent3]
<expt >
/ onexptbegin = [values.abbruch = 0]


/ blocks = [ 1 = Practice_Consistent1;
    2 = Practice_inConsistent1;
    3 = Consistent1;
    4 = inConsistent1;
    5 = Consistent2;
    6 = inConsistent2;
    7 = Consistent3;
    8 = inConsistent3]
/onexptend = [values.completed = 1]
</expt>

<block Practice_Consistent1>
/ skip = [values.abbruch == 1]
/ preinstructions = (irap1, Practice_Consistent_1)
/ trials = [
1=ready.trial;
2=Consistent_Vrouwen4;
3=Consistent_Ik2;
/ branch = [if (expressions.pct_correct < 80 || expressions.mean_rt > 2000) block.practice_consistent2]
/ branch = [if (expressions.pct_correct > 80 || expressions.mean_rt < 2000) block.consistent1]
</block>

<block Practice_Consistent2>
/ skip = [values.abbruch == 1]
/ onblockbegin=[values.ntrials = 0; values.n_correct = 0; values.sum_latency = 0]
/ preinstructions = (Practice_Consistent_2)
/ trials = [
1=ready.trial;
2=Consistent_Vrouwen2;
3=Consistent_Ik2;
/ branch = [block.practice_inconsistent2]
</block>

<block Practice_inConsistent2>
/ skip = [values.abbruch == 1]
/ preinstructions = (Practice_inConsistent)
/ postinstructions = (practicefeedback)
/ trials = [
1=inConsistent_Vrouwen3;
2=inConsistent_Ik4;
/ branch = [block.consistent1]
</block>

<block Consistent1>
/ skip = [values.abbruch == 1]
/ preinstructions = (irap2, irap_Consistent)
/ trials = [
1=ready.trial;
2=Consistent_Ik3;
3=Consistent_Ik2;
/ branch = [block.inconsistent1]
</block>

<block inConsistent1>
/ skip = [values.abbruch == 1]
/ preinstructions = (irap_inConsistent)
/ trials = [
1=inConsistent_Vrouwen4;
2=inConsistent_Vrouwen1;
/ branch = [block.consistent2]
</block>

<block Consistent2>
/ skip = [values.abbruch == 1]
/ preinstructions = (irap_Consistent)
/ trials = [
1=ready.trial;
2=Consistent_Ik2;
3=Consistent_Ik3;
/ branch = [block.inconsistent2]
</block>

<block inConsistent2>
/ skip = [values.abbruch == 1]
/ preinstructions = (irap_inConsistent)
/ trials = [
1=inConsistent_Vrouwen1;
2=inConsistent_Vrouwen2;
/ branch = [block.consistent3]
</block>

<block Consistent3>
/ skip = [values.abbruch == 1]
/ preinstructions = (irap_Consistent)
/ trials = [
1=ready.trial;
2=Consistent_Vrouwen2;
3=Consistent_Vrouwen4;
/ branch = [block.inconsistent3]
</block>

<block inConsistent3>
/ skip = [values.abbruch == 1]
/ preinstructions = (irap_inConsistent)
/ trials = [
1=inConsistent_Vrouwen4;
2=inConsistent_Vrouwen4; 
3 = End_task.trial]
</block>



I assuming this is a copy and paste error, but there are two identical <expt> elements in what you posted:

#1
<expt >
/ blocks = [ 1 = Practice_Consistent1;
    2 = Practice_inConsistent1;
    3 = Consistent1;
    4 = inConsistent1;
    5 = Consistent2;
    6 = inConsistent2;
    7 = Consistent3;
    8 = inConsistent3]
</expt>

#2
<expt >
/ onexptbegin = [values.abbruch = 0]
/ blocks = [ 1 = Practice_Consistent1;
    2 = Practice_inConsistent1;
    3 = Consistent1;
    4 = inConsistent1;
    5 = Consistent2;
    6 = inConsistent2;
    7 = Consistent3;
    8 = inConsistent3]
/onexptend = [values.completed = 1]
</expt>

They would both be executed one after another, i.e. you're actually running the entire thing twice.

The actual issue, however, is that you are running all your blocks twice.

You invoke the various <block>s from other <block>s via /branch, which takes precedence

<block Consistent1>
...
/ branch = [block.inconsistent1]
</block>

but then you again run them again via the <expt>'s /blocks attribute

<expt >
/ blocks = [ 1 = Practice_Consistent1;
    2 = Practice_inConsistent1;
    3 = Consistent1;
    4 = inConsistent1;
    5 = Consistent2;
    6 = inConsistent2;
    7 = Consistent3;
    8 = inConsistent3]
</expt>

You'll only want to do _one_ of those things: EITHER invoke a given <block> via /branch from another <block> OR run it via the <expt>'s /blocks attribute.

Thank you! And It indeed was a copy and past error.. 
Dave
Dave
Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)
Group: Administrators
Posts: 13K, Visits: 104K
Mirthe - Wednesday, August 16, 2017
Hi, I have a question concerning my experiment. While the experiment runs fine, after completing the last experimental black, the experiment starts again. I can't seem to figure out why this happens.

<expt >
/ blocks = [ 1 = Practice_Consistent1;
    2 = Practice_inConsistent1;
    3 = Consistent1;
    4 = inConsistent1;
    5 = Consistent2;
    6 = inConsistent2;
    7 = Consistent3;
    8 = inConsistent3]
<expt >
/ onexptbegin = [values.abbruch = 0]


/ blocks = [ 1 = Practice_Consistent1;
    2 = Practice_inConsistent1;
    3 = Consistent1;
    4 = inConsistent1;
    5 = Consistent2;
    6 = inConsistent2;
    7 = Consistent3;
    8 = inConsistent3]
/onexptend = [values.completed = 1]
</expt>

<block Practice_Consistent1>
/ skip = [values.abbruch == 1]
/ preinstructions = (irap1, Practice_Consistent_1)
/ trials = [
1=ready.trial;
2=Consistent_Vrouwen4;
3=Consistent_Ik2;
/ branch = [if (expressions.pct_correct < 80 || expressions.mean_rt > 2000) block.practice_consistent2]
/ branch = [if (expressions.pct_correct > 80 || expressions.mean_rt < 2000) block.consistent1]
</block>

<block Practice_Consistent2>
/ skip = [values.abbruch == 1]
/ onblockbegin=[values.ntrials = 0; values.n_correct = 0; values.sum_latency = 0]
/ preinstructions = (Practice_Consistent_2)
/ trials = [
1=ready.trial;
2=Consistent_Vrouwen2;
3=Consistent_Ik2;
/ branch = [block.practice_inconsistent2]
</block>

<block Practice_inConsistent2>
/ skip = [values.abbruch == 1]
/ preinstructions = (Practice_inConsistent)
/ postinstructions = (practicefeedback)
/ trials = [
1=inConsistent_Vrouwen3;
2=inConsistent_Ik4;
/ branch = [block.consistent1]
</block>

<block Consistent1>
/ skip = [values.abbruch == 1]
/ preinstructions = (irap2, irap_Consistent)
/ trials = [
1=ready.trial;
2=Consistent_Ik3;
3=Consistent_Ik2;
/ branch = [block.inconsistent1]
</block>

<block inConsistent1>
/ skip = [values.abbruch == 1]
/ preinstructions = (irap_inConsistent)
/ trials = [
1=inConsistent_Vrouwen4;
2=inConsistent_Vrouwen1;
/ branch = [block.consistent2]
</block>

<block Consistent2>
/ skip = [values.abbruch == 1]
/ preinstructions = (irap_Consistent)
/ trials = [
1=ready.trial;
2=Consistent_Ik2;
3=Consistent_Ik3;
/ branch = [block.inconsistent2]
</block>

<block inConsistent2>
/ skip = [values.abbruch == 1]
/ preinstructions = (irap_inConsistent)
/ trials = [
1=inConsistent_Vrouwen1;
2=inConsistent_Vrouwen2;
/ branch = [block.consistent3]
</block>

<block Consistent3>
/ skip = [values.abbruch == 1]
/ preinstructions = (irap_Consistent)
/ trials = [
1=ready.trial;
2=Consistent_Vrouwen2;
3=Consistent_Vrouwen4;
/ branch = [block.inconsistent3]
</block>

<block inConsistent3>
/ skip = [values.abbruch == 1]
/ preinstructions = (irap_inConsistent)
/ trials = [
1=inConsistent_Vrouwen4;
2=inConsistent_Vrouwen4; 
3 = End_task.trial]
</block>



I assume this is a copy and paste error, but there are two identical <expt> elements in what you posted:

#1
<expt >
/ blocks = [ 1 = Practice_Consistent1;
    2 = Practice_inConsistent1;
    3 = Consistent1;
    4 = inConsistent1;
    5 = Consistent2;
    6 = inConsistent2;
    7 = Consistent3;
    8 = inConsistent3]
</expt>

#2
<expt >
/ onexptbegin = [values.abbruch = 0]
/ blocks = [ 1 = Practice_Consistent1;
    2 = Practice_inConsistent1;
    3 = Consistent1;
    4 = inConsistent1;
    5 = Consistent2;
    6 = inConsistent2;
    7 = Consistent3;
    8 = inConsistent3]
/onexptend = [values.completed = 1]
</expt>

They would both be executed one after another, i.e. you'd actually be running the entire thing twice.


The actual issue, however, is that you are running all your blocks twice.

You invoke the various <block>s from other <block>s via /branch, which takes precedence

<block Consistent1>
...
/ branch = [block.inconsistent1]
</block>

but then you again run them again via the <expt>'s /blocks attribute

<expt >
/ blocks = [ 1 = Practice_Consistent1;
    2 = Practice_inConsistent1;
    3 = Consistent1;
    4 = inConsistent1;
    5 = Consistent2;
    6 = inConsistent2;
    7 = Consistent3;
    8 = inConsistent3]
</expt>

You'll only want to do _one_ of those things: EITHER invoke a given <block> via /branch from another <block> OR run it via the <expt>'s /blocks attribute.

Edited 7 Years Ago by Dave
Mirthe
Mirthe
Partner Member (500 reputation)Partner Member (500 reputation)Partner Member (500 reputation)Partner Member (500 reputation)Partner Member (500 reputation)Partner Member (500 reputation)Partner Member (500 reputation)Partner Member (500 reputation)Partner Member (500 reputation)
Group: Forum Members
Posts: 4, Visits: 13
Hi, I have a question concerning my experiment. While the experiment runs fine, after completing the last experimental black, the experiment starts again. I can't seem to figure out why this happens.

<expt >
/ blocks = [ 1 = Practice_Consistent1;
    2 = Practice_inConsistent1;
    3 = Consistent1;
    4 = inConsistent1;
    5 = Consistent2;
    6 = inConsistent2;
    7 = Consistent3;
    8 = inConsistent3]
<expt >
/ onexptbegin = [values.abbruch = 0]


/ blocks = [ 1 = Practice_Consistent1;
    2 = Practice_inConsistent1;
    3 = Consistent1;
    4 = inConsistent1;
    5 = Consistent2;
    6 = inConsistent2;
    7 = Consistent3;
    8 = inConsistent3]
/onexptend = [values.completed = 1]
</expt>

<block Practice_Consistent1>
/ skip = [values.abbruch == 1]
/ preinstructions = (irap1, Practice_Consistent_1)
/ trials = [
1=ready.trial;
2=Consistent_Vrouwen4;
3=Consistent_Ik2;
/ branch = [if (expressions.pct_correct < 80 || expressions.mean_rt > 2000) block.practice_consistent2]
/ branch = [if (expressions.pct_correct > 80 || expressions.mean_rt < 2000) block.consistent1]
</block>

<block Practice_Consistent2>
/ skip = [values.abbruch == 1]
/ onblockbegin=[values.ntrials = 0; values.n_correct = 0; values.sum_latency = 0]
/ preinstructions = (Practice_Consistent_2)
/ trials = [
1=ready.trial;
2=Consistent_Vrouwen2;
3=Consistent_Ik2;
/ branch = [block.practice_inconsistent2]
</block>

<block Practice_inConsistent2>
/ skip = [values.abbruch == 1]
/ preinstructions = (Practice_inConsistent)
/ postinstructions = (practicefeedback)
/ trials = [
1=inConsistent_Vrouwen3;
2=inConsistent_Ik4;
/ branch = [block.consistent1]
</block>

<block Consistent1>
/ skip = [values.abbruch == 1]
/ preinstructions = (irap2, irap_Consistent)
/ trials = [
1=ready.trial;
2=Consistent_Ik3;
3=Consistent_Ik2;
/ branch = [block.inconsistent1]
</block>

<block inConsistent1>
/ skip = [values.abbruch == 1]
/ preinstructions = (irap_inConsistent)
/ trials = [
1=inConsistent_Vrouwen4;
2=inConsistent_Vrouwen1;
/ branch = [block.consistent2]
</block>

<block Consistent2>
/ skip = [values.abbruch == 1]
/ preinstructions = (irap_Consistent)
/ trials = [
1=ready.trial;
2=Consistent_Ik2;
3=Consistent_Ik3;
/ branch = [block.inconsistent2]
</block>

<block inConsistent2>
/ skip = [values.abbruch == 1]
/ preinstructions = (irap_inConsistent)
/ trials = [
1=inConsistent_Vrouwen1;
2=inConsistent_Vrouwen2;
/ branch = [block.consistent3]
</block>

<block Consistent3>
/ skip = [values.abbruch == 1]
/ preinstructions = (irap_Consistent)
/ trials = [
1=ready.trial;
2=Consistent_Vrouwen2;
3=Consistent_Vrouwen4;
/ branch = [block.inconsistent3]
</block>

<block inConsistent3>
/ skip = [values.abbruch == 1]
/ preinstructions = (irap_inConsistent)
/ trials = [
1=inConsistent_Vrouwen4;
2=inConsistent_Vrouwen4; 
3 = End_task.trial]
</block>



GO

Merge Selected

Merge into selected topic...



Merge into merge target...



Merge into a specific topic ID...




Reading This Topic

Explore
Messages
Mentions
Search