View difference between Paste ID: E1N58sJ4 and V2dn9euD
SHOW: | | - or go back to the newest paste.
1
%SIMULATION OF THE DIFFUSION PROCESS
2
rtn=500; %num trials
3
global rt;
4
rt=zeros(2,rtn);
5
6
maxWalk=15000;
7
8
%PARAMETERS
9
a=10; %positive boundary (the negative is 0)
10
z=0;  %starting point
11
s=1;%variance in drift rate within trial
12
v=0.38;%mean drift rate
13
14
for xx=1:rtn
15
    timeseries(1:maxWalk,1)=NaN;
16
    timeseries(1)=z;
17
    
18
    for i=2:maxWalk
19
        timeseries(i)=timeseries(i-1)+normrnd(v,s,1,1);
20
        if (timeseries(i)>=a)
21
		%linear interpolation
22
            slope=timeseries(i)-(timeseries(i-1));
23
            x=i-(timeseries(i)-a)/slope;
24
            rt(1,xx)=x;
25
            break;
26
        end
27
        
28
    end
29
    if xx==1
30
        plot([0 150],[1 1],'b:');
31
    end
32
    timeseries(isnan(timeseries))=[];
33
    time=(1:length(timeseries));
34
    figure(1); hold on; plot(time, timeseries,'r.-'); drawnow;
35
end
36
37
38
figure();
39
RT{1}=rt(1,find(rt(1,:)>0));
40
41
%{
42
[~,~,~,~,~,~,~,par]= myHist(RT{1},'binW',1, 'typePlot','h','fit','invg');
43
 par{1}{1}
44
%}
45
mu=a/v; sig=a.^2./s.^2;
46
%display(['Estimated - mu:' num2str(par{1}{1}(1)) ' s:  ' num2str(par{1}{1}(2))]);
47
display(['Real - mu:' num2str(mu) ' s:  ' num2str(sig)]);
48
49
x=0:0.1:400;
50
hold on; plot(x,invgpdf(x,mu,sig),'r-');