-
Notifications
You must be signed in to change notification settings - Fork 2
Expand file tree
/
Copy pathchainer_init_sample.m
More file actions
30 lines (21 loc) · 916 Bytes
/
chainer_init_sample.m
File metadata and controls
30 lines (21 loc) · 916 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
function sample = chainer_init_sample(params,opts)
%% counter
sample.i = 0;
sample.F = get_F(sample.i,params);
%% loads
sample.b = rand(1,params.M) < 1/(1+exp(-params.b_prior_log_p1_m_log_p0));
%% emission rates
sample.h = params.h_prior_REF./params.h_prior_A.*randg(params.h_prior_A,params.N,1);
%% atoms and dynamics
sample.K = nan( 1,params.M);
sample.X = nan(params.N,params.M);
sample.Y = nan(params.N,params.M);
sample.Z = nan(params.N,params.M);
[sample.K,sample.X,sample.Y,sample.Z] = sampler_update_DDD(sample.K,sample.X,sample.Y,sample.Z,false(1,params.M),params);
%% background
sample.C = params.C_prior_REF./params.C_prior_A.*randg(params.C_prior_A,params.N,1);
%% book-keeping
sample.L = get_log_probs(sample.F,sample.C,sample.b,sample.h,sample.K,sample.X,sample.Y,sample.Z,params);
sample.D = get_D(sample.X,sample.Y,sample.Z,sample.b,params);
sample.rec = repmat([0;realmin;0],1,9);
end