Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Fmax = 64; Fmin = 1;
- Tmax = 100; Tmin = 0.1;
- LWmax = 4; LWmin = 0.5;
- GuessT = 4 ;
- GuessF = 10;
- GuessLW = 1 ;
- %Want steps around stdev;
- Tstepsize = 0.05;
- %chan noise is 1!
- Fstepsize = 0.5;
- LWstepsize = 0.1;
- N = 50000;
- chain = [,];
- chain(1,1) = GuessT;
- chain(1,2) = GuessF;
- chain(1,3) = GuessLW;
- %a6q2lhood(T,F,LW,freq,vals)
- L0 = a6q2lhood(GuessT,GuessF,GuessLW,channels,signals)
- rejected = 0;
- for i=2:N+1
- i
- T0 = chain(i-1,1) + Tstepsize*normrnd(0,1);
- F0 = chain(i-1,2) + Fstepsize*normrnd(0,1);
- LW0 = chain(i-1,3) + LWstepsize*normrnd(0,1);
- if (T0<Tmin)||(T0>Tmax)||(F0<Fmin)||(F0>Fmax)||(LW0<LWmin)||(LW0>LWmax)
- r = 0;
- fprintf('OUT OF BOUNDS\r\r')
- else
- L1 = a6q2lhood(T0,F0,LW0,channels,signals);
- r = L1/L0;
- end
- rval = rand;
- if rval<r
- chain(i,1) = T0;
- chain(i,2) = F0;
- chain(i,3) = LW0;
- L0 = L1;
- else
- rejected = rejected + 1;
- chain(i,1) = chain(i-1,1);
- chain(i,2) = chain(i-1,2);
- chain(i,3) = chain(i-1,3);
- end
- end
- ratio = (N-rejected)/N
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement