文档库 最新最全的文档下载
当前位置:文档库 › Matlab实现星座图

Matlab实现星座图

Matlab实现星座图

Matlab实现星座图:将数据聚类或者分类后,产生矩阵A,A的最后一列是元组所属类别,用数字表示,1、2、3等,所画星座图将不同类别的数据用不同标志画出来

function starPlot(A)

[hA,lA]=size(A)

MIN=min(A(:,1:lA-1))%每一列的最小值,即每个属性的最小值

MAX=max(A(:,1:lA-1))%每一列的最大值,即每个属性的最大值

R=MAX-MIN %极差

w=1/(lA-1)

for i=1:hA

B(i,:)=((A(i,1:lA-1)-MIN)./R).*pi;%极差正规化

C(i,1)=sum(cos(B(i,:)).*w,2);

C(i,2)=sum(sin(B(i,:)).*w,2);

C(i,3)=A(i,lA);

end

B

C

theta=0:0.01:pi;

x=cos(theta);

y=sin(theta);

plot(x,y);

for i=1:hA

hold on

switch C(i,3)

case 1

plot(C(i,1),C(i,2),'.r');

case 2

plot(C(i,1),C(i,2),'.b');

case 3

plot(C(i,1),C(i,2),'*r');

case 4

plot(C(i,1),C(i,2),'*b');

otherwise

plot(C(i,1),C(i,2),'.g');

end

end

hold off;

相关文档