Commit | Line | Data |
---|---|---|
0f51ccae BA |
1 | function[] = generateRunSaveTest_EMGrank(n, p, m, k, mini, maxi, gamma, rank, varargin) |
2 | ||
3 | %set defaults for optional inputs | |
4 | optargs = {200 15 10 3 5 10 1.0 1:3}; | |
5 | %replace defaults by user parameters | |
6 | optargs(1:length(varargin)) = varargin; | |
7 | [n, p, m, k, mini, maxi, gamma, rank] = optargs{:}; | |
8 | mini = int64(mini); | |
9 | maxi = int64(maxi); | |
10 | rank = int64(rank); | |
11 | tau = 1e-6; | |
12 | ||
13 | Pi = (1.0/k)*ones(1,k); | |
14 | Rho = zeros(m,m,k); | |
15 | for r=1:k | |
16 | Rho(:,:,r) = eye(m); | |
17 | end | |
18 | ||
19 | %Generate X and Y | |
20 | [X, Y, ~] = generateIOdefault(n, p, m, k); | |
21 | ||
22 | %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% | |
23 | ||
24 | testFolder = 'data/'; | |
25 | mkdir(testFolder); | |
26 | delimiter = ' '; | |
27 | ||
28 | %save inputs | |
29 | dlmwrite(strcat(testFolder,'Rho'), reshape(Rho,1,[]), delimiter); | |
30 | dlmwrite(strcat(testFolder,'Pi'), Pi, delimiter); | |
31 | dlmwrite(strcat(testFolder,'mini'), mini, delimiter); | |
32 | dlmwrite(strcat(testFolder,'maxi'), maxi, delimiter); | |
33 | dlmwrite(strcat(testFolder,'X'), reshape(X,1,[]), delimiter); | |
34 | dlmwrite(strcat(testFolder,'Y'), reshape(Y,1,[]), delimiter); | |
35 | dlmwrite(strcat(testFolder,'tau'), tau, delimiter); | |
36 | dlmwrite(strcat(testFolder,'rank'), rank, delimiter); | |
37 | dlmwrite(strcat(testFolder,'dimensions'), [n,p,m,k], delimiter);; | |
38 | ||
39 | [phi,LLF] = EMGrank(Pi,Rho,mini,maxi,X,Y,tau,rank); | |
40 | ||
41 | %save output | |
42 | dlmwrite(strcat(testFolder,'phi'), reshape(phi,1,[]), delimiter); | |
43 | dlmwrite(strcat(testFolder,'LLF'), LLF, delimiter); | |
44 | ||
45 | end |