Advertisement
smathot

Cumulative probability

Jun 13th, 2013
233
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.39 KB | None | 0 0
  1. # Generated by OpenSesame 0.27.2 (Frisky Freud)
  2. # Thu Jun 13 14:44:02 2013 (posix)
  3. # <http://www.cogsci.nl/opensesame>
  4.  
  5. set foreground "white"
  6. set subject_parity "even"
  7. set description "A template containing a practice and an experimental phase"
  8. set title "Extended template"
  9. set compensation "0"
  10. set coordinates "relative"
  11. set height "768"
  12. set mouse_backend "xpyriment"
  13. set width "1024"
  14. set sampler_backend "legacy"
  15. set keyboard_backend "legacy"
  16. set background "black"
  17. set subject_nr "0"
  18. set canvas_backend "xpyriment"
  19. set start "experiment"
  20. set synth_backend "legacy"
  21.  
  22. define inline_script set_prop
  23. set _run ""
  24. ___prepare__
  25. # Set the initial probability
  26. exp.set('prob', .5)
  27. __end__
  28. set description "Executes Python code"
  29.  
  30. define sequence trial_sequence
  31. set flush_keyboard "yes"
  32. set description "A single trial"
  33. run cumulative_probability "always"
  34. run sketchpad "always"
  35.  
  36. define loop block_loop
  37. set repeat "10"
  38. set description "A single block of trials"
  39. set item "trial_sequence"
  40. set column_order ""
  41. set cycles "1"
  42. set order "random"
  43. run trial_sequence
  44.  
  45. define sequence experiment
  46. set flush_keyboard "yes"
  47. set description "The main sequence of the experiment"
  48. run set_prop "always"
  49. run block_loop "always"
  50.  
  51. define sketchpad sketchpad
  52. set duration "keypress"
  53. set description "Displays stimuli"
  54. set start_response_interval "no"
  55. draw textline 0 0 "event_occurs = [event_occurs]" center=1 color=white font_family="mono" font_size=18 font_italic=no font_bold=no show_if="always"
  56. draw textline 0.0 64.0 "prob = [prob]" center=1 color=white font_family="mono" font_size=18 font_italic=no font_bold=no show_if="always"
  57.  
  58. define inline_script cumulative_probability
  59. set _run ""
  60. ___prepare__
  61. from random import random
  62.  
  63. # random() returns a number between 0 and 1
  64. # so this sets `event_occurs` to True or False
  65. # with a probability of [prob].
  66. prob = self.get('prob')
  67. event_occurs = random() < prob
  68.  
  69. # If the event does not occur, increase the
  70. # probability for the next time, but not
  71. # higher than 1.
  72. if not event_occurs:
  73. prob += .1
  74. if prob > 1:
  75. prob = 1
  76. # If the event does occur, decrease the probability,
  77. # but not below 0.
  78. else:
  79. prob -= .1
  80. if prob < 0:
  81. prob = 0
  82.  
  83. # Store [prob] and [event_occurs]
  84. exp.set('prob', prob)
  85. exp.set('event_occurs', event_occurs)
  86. __end__
  87. set description "Executes Python code"
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement