%
% Generating a few sample datas for clustering
% Tommi Kärkkäinen, Oct 30, 2016
%
% clear, close all
%
% Gaussian distributions in 2D
%
mu1 = [1 1]; Sigma = [1 0.5; 0.5 2]; R = chol(Sigma);
N = 1000;
X = repmat(mu1,N,1) + randn(N,2)*R; Ctrue = [mu1];
mu2 = [1.5 -5]; N = 100;
X = [X; repmat(mu2,N,1) + randn(N,2)*R]; Ctrue = [Ctrue; mu2];
mu3 = [11 -3]; N = 500;
X = [X; repmat(mu3,N,1) + randn(N,2)*R]; Ctrue = [Ctrue; mu3];
mu4 = [6 14]; Sigma = 1.25*eye(2); R = chol(Sigma);
N = 1000;
X = [X; repmat(mu4,N,1) + randn(N,2)*R]; Ctrue = [Ctrue; mu4];
mu5 = [12 15]; N = 100;
X = [X; repmat(mu5,N,1) + randn(N,2)*R]; Ctrue = [Ctrue; mu5];
% mu6 = [2 10]; N = 200;
% X = [X; repmat(mu6,N,1) + randn(N,2)*R]; Ctrue = [Ctrue; mu6];
N = ceil(0.1*size(X,1)) %10% noise
Noise = [20*rand(N,1)-4 30*rand(N,1)-12];
X = [X; Noise];
DataName = 'Simu1';
 

%
% Similar generation than Simu1, but for 10D 
%
% n = 10;
% mu1 = ones(1,n);
% Sigma = diag(randi(2,n,1)) + 0.5*(diag(ones(n-1,1),1) + diag(ones(n-1,1),-1));
% R = chol(Sigma);
% N = 1000;
% X = repmat(mu1,N,1) + randn(N,n)*R; Ctrue = [mu1];
% mu2 = repmat([1.5 -5],1,n/2); N = 100;
% X = [X; repmat(mu2,N,1) + randn(N,n)*R]; Ctrue = [Ctrue; mu2];
% mu3 = repmat([11 -3],1,n/2); N = 500;
% X = [X; repmat(mu3,N,1) + randn(N,n)*R]; Ctrue = [Ctrue; mu3];
% mu4 = repmat([6 14],1,n/2); Sigma = 1.25*eye(n); R = chol(Sigma);
% N = 1000;
% X = [X; repmat(mu4,N,1) + randn(N,n)*R]; Ctrue = [Ctrue; mu4];
% mu5 = repmat([12 15],1,n/2); N = 100;
% X = [X; repmat(mu5,N,1) + randn(N,n)*R]; Ctrue = [Ctrue; mu5];
% % mu6 = repmat([2 10],1,n/2); N = 200;
% % X = [X; repmat(mu6,N,1) + randn(N,n)*R]; Ctrue = [Ctrue; mu6];
% N = ceil(0.1*size(X,1)) %10% noise
% Noise = repmat([20*rand(N,1)-4 30*rand(N,1)-12],1,n/2);
% X = [X; Noise];
% DataName = 'Simu10';
