, , .
:
: D, , , :
theta = linspace(0, 2*pi, N); %
r = data; %
x = r.*cos(theta); %
y = r.*sin(theta); %
plot(x, y, '-');
1
%
K = 3;
N = 30;
data = zeros(K,N);
data(1,:) = 0.2*randn(1,N) + 1;
data(2,:) = 0.2*randn(1,N) + 2;
data(3,:) = 0.2*randn(1,N) + 3;
center = [0 0]; %
radius = [data data(:,1)]; %
radius = normalize(radius',1)'+1; %
figure, hold on
%
theta = linspace(5*pi/2, pi/2, 500)'; %
r = max(radius(:)); %
x = r*cos(theta)+center(1);
y = r*sin(theta)+center(2);
plot(x, y, 'k:');
%
theta = linspace(5*pi/2, pi/2, 500)'; %
num = 5; %
rr = linspace(0,2,num+2); %
for k=1:num
r = rr(k+1);
x = r*cos(theta)+center(1);
y = r*sin(theta)+center(2);
plot(x, y, 'k:');
end
%
theta = linspace(5*pi/2, pi/2, N+1)'; %
theta(end) = [];
r = max(radius(:));
r = r + r*0.2; %
x = r*cos(theta)+center(1);
y = r*sin(theta)+center(2);
str = strcat(num2str((1:N)','%d'),{}); %
text(x, y, str, 'FontWeight','Bold');
%
theta = linspace(5*pi/2, pi/2, N+1);
x = bsxfun(@times, radius, cos(theta)+center(1))';
y = bsxfun(@times, radius, sin(theta)+center(2))';
h = zeros(1,K);
clr = hsv(K);
for k=1:K
h(k) = plot(x(:,k), y(:,k), '.-', 'Color', clr(k,:), 'LineWidth', 2);
end
%
legend(h, {'M1' 'M2' 'M3'}, 'location', 'SouthOutside', 'orientation','horizontal')
hold off
axis equal, axis([-1 1 -1 1] * r), axis off

2
%
K = 3;
N = 30;
data = zeros(K,N);
data(1,:) = 0.2*randn(1,N) + 1;
data(2,:) = 0.2*randn(1,N) + 2;
data(3,:) = 0.2*randn(1,N) + 3;
center = [0 0]; %
radius = [data data(:,1)]; %
radius = normalize(radius',1)'; %
radius = bsxfun( @plus, radius, (1:2:2*K)' ); %
figure, hold on
%
theta = linspace(5*pi/2, pi/2, 500)'; %
r = max(radius(:))+1; %
x = r*cos(theta)+center(1);
y = r*sin(theta)+center(2);
plot(x, y, 'k:');
%
theta = linspace(5*pi/2, pi/2, 500)'; %
r = 1.5; %
for k=1:K
x = r*cos(theta)+center(1);
y = r*sin(theta)+center(2);
plot(x, y, 'k:');
r=r+2; %
end
%
theta = linspace(5*pi/2, pi/2, N+1)'; %
theta(end) = [];
r = max(radius(:))+1;
r = r + r*0.2; %
x = r*cos(theta)+center(1);
y = r*sin(theta)+center(2);
str = strcat(num2str((1:N)','%d'),{}); %
text(x, y, str, 'FontWeight','Bold');
%
theta = linspace(5*pi/2, pi/2, N+1);
x = bsxfun(@times, radius, cos(theta)+center(1))';
y = bsxfun(@times, radius, sin(theta)+center(2))';
h = zeros(1,K);
clr = hsv(K);
for k=1:K
h(k) = plot(x(:,k), y(:,k), '.-', 'Color', clr(k,:), 'LineWidth', 2);
end
%
legend(h, {'M1' 'M2' 'M3'}, 'location', 'SouthOutside', 'orientation','horizontal')
hold off
axis equal, axis([-1 1 -1 1] * r), axis off

, normalize() , minmax- ((x-min)/(max-min)), :
function newData = normalize(data, type)
[numInst numDim] = size(data);
e = ones(numInst, 1);
minimum = min(data);
maximum = max(data);
range = (maximum - minimum);
if type == 1
%
newData = (data - e*minimum) ./ ( e*(range+(range==0)) );
end
%
end