全部版块 我的主页
论坛 金融投资论坛 六区 金融学(理论版)
1320 2
2018-11-05
学习第一篇
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

全部回复
2018-11-5 16:14:58
wenjian=xlsread('wenjian.xlsx');
[m1,n1]=size(wenjian);
%初始中心点
a1=3;
a2=5;
b1=8;
b2=6;
d1=zeros(m1,1);
d2=zeros(m1,1);
biaozhun1=10;%初始运行条件
biaozhun2=10;
while biaozhun1>0.00000001 & biaozhun2>0.0000001%设置终止条件
for i=1:m1
    d1(i)=sqrt((wenjian(i,1)-a1)^2+(wenjian(i,2)-a2)^2);
end
for i=1:m1
    d2(i)=sqrt((wenjian(i,1)-b1)^2+(wenjian(i,2)-b2)^2);
end
%保存分类的数据
for i=1:m1
    if d1(i)-d2(i)<=0
    s1(i)=i;
    else
    s2(i)=i;
    end
end
s1(s1==0)=[];
s2(s2==0)=[];

n1=length(s1);%计算新的聚类中心
n2=length(s2);
sum11=sum(wenjian(s1,1));
sum12=sum(wenjian(s1,2));
mean11=sum11/n1;
mean12=sum12/n1;
c1=[mean11,mean12];

sum21=sum(wenjian(s2,1));
sum22=sum(wenjian(s2,2));
mean21=sum21/n2;
mean22=sum22/n2;
c2=[mean21,mean22];
biaozhun1=sqrt((mean11-a1)^2+(mean12-a2)^2);
biaozhun2=sqrt((mean21-b1)^2+(mean22-b2)^2);

a1=mean11;%更新聚类中心点
a2=mean12;
b1=mean21;
b2=mean22;

end
center1=[a1,a2]
center2=[b1,b2]

x=wenjian(:,1);
y=wenjian(:,2);
plot(x,y,'o',a1,a2,'b*',b1,b2,'r*')
%小结 距离公式必须加上根号,否则偏差特别大
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2018-11-8 11:02:06
复制代码
附件列表

圆形区域聚类.txt

大小:1.48 KB

只需: 1 个论坛币  马上下载

二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群