⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 dataclust.m

📁 回归分析工具箱
💻 M
字号:

function [X] = DataClust(n,N,kk,cm,cd)

%   [X] = DataClust(n,N,kk,cm,cd)
%   [X] = DataClust
%
% Function generates random clustered data.
%
% Input parameters:
%  - n: Data dimension (default 3)
%  - N: Number of clusters (default 2)
%  - kk: Data samples in each cluster (default 100)
%  - cm: Deviation of the cluster centers (default 1)
%  - cd: Cluster "spread", 'longest' axis vs. 'shortest' (default 1)
% Return parameters:
%  - X: Input data matrix (collection of row data vectors)
%
% Heikki Hyotyniemi Feb.12, 2001


if nargin < 1 | isnan(n)
   n = 3;
end
if nargin < 2 | isnan(N)
   N = 2;
end
if nargin < 3 | isnan(kk)
   kk = 100;
end
if nargin < 4 | isnan(cm)
   cm = 1;
end
if nargin < 5 | isnan(cd)
   cd = 1;
end

X = zeros(N*kk,n);
for i = 1:N
   XX = randn(kk,n);
   R = XX'*XX/n;
   [V,L] = eig(R);
   [L,order] = sort(diag(L));
   V = V(:,order);
   L = diag(logspace(-log10(cd^2)/2,log10(cd^2)/2,n));
   R = V*L*inv(V);
   XX = XX*sqrtm(R);
   X((i-1)*kk+1:i*kk,:) = XX + cm*ones(kk,1)*randn(1,n);
end

ind = randperm(N*kk);
X = X(ind,:);

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -