1. have a random selection from values ranging between 0 and 1 (which is a uniform distribution) - this gives the u value (as defined on wiki). Essentially the probability value.
2. use the z_p expression you linked to (or similar) which uses the above u value and calculates its associated z score
3. Use z score, along with defined distribution mean and SD to calculate ISI
Yep, that's the way to do it.
EDIT: For the sake of posterity, here's syntax to generate samples from a normal distribution with specified mean mu and standard deviation sigma:
/* values.nsamples: number of random variates (samples) to draw from distribution
/* values.mu: desired (theoretical) mean of normal distribution
/* values.sigma: desired (theoretical) standard deviation of normal distribution
/* expressions.mx: observed (empirical) mean of random variates
/* expressions.sdx: observed (empirical) standard deviation of random variates
<expressions>
/ z = if(values.u>0.5)(sqrt(-ln(1-pow(2*values.u-1,2))/sqrt(m_pi/8))) else
(-sqrt(-ln(1-pow(2*values.u-1,2))/sqrt(m_pi/8)))
/ x = (values.sigma*expressions.z)+values.mu
/ mx = (values.sumx/values.nx)
/ sdx = sqrt((values.ssumx-(values.nx *(expressions.mx*expressions.mx)))/(values.nx-1))
</expressions>
<values>
/ nsamples = 2000
/ mu = 1500
/ sigma = 500
/ u = 0
/ sumx = 0
/ ssumx = 0
/ nx = 0
</values>
<text info>
/ items = ("Input: mu = <%values.mu%> | sigma = <%values.sigma%> | n = <%values.nsamples%>
Output: m(x) = <%expressions.mx%>| sd(x) = <%expressions.sdx%> | n(x) = <%values.nx%>")
/ size = (90%,90%)
/ erase = false
/ vjustify = center
</text>
<trial sample>
/ ontrialbegin = [values.u=rand(0,1); values.sumx=values.sumx+expressions.x; values.ssumx=values.ssumx+(expressions.x*expressions.x); values.nx=values.nx+1]
/ validresponse = (noresponse)
/ trialduration = 0
/ branch = [if(block.myblock.trialcount<values.nsamples)trial.sample else trial.summary]
</trial>
<trial summary>
/ stimulusframes = [1=info]
/ validresponse = (57)
/ recorddata = false
</trial>
<block myblock>
/ trials = [1=sample]
</block>
<data>
/ columns = [trialnum,expressions.x,expressions.mx,expressions.sdx]
/ separatefiles = true
</data>
<defaults>
/ windowsize = (640px,480px)
/ fontstyle = ("Verdana", 2%, true)
</defaults>
To check the output and verify that it's indeed generating the desired normal samples, generate a histogram of expressions.x, examine its Q-Q plot and/or submit to a statistical test for normality (Kolmogorov-Smirnov, Shapiro-Wilk, etc.).
Regards,
~Dave