fix memory leaks on EMGLLF, test OK for EMGrank
[valse.git] / src / test / generate_test_data / generateRunSaveTest_EMGrank.m
CommitLineData
0f51ccae
BA
1function[] = 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
45end