马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?我要加入
x
function [A]=my_YSPX(W)
%对截距阵进行分类后的各行进行排序
js=0; js0=0; n=length(W);
x=factorial(n)/(factorial(n-2)*factorial(2)); A=cell(1,x);
for i=1:n-1
pd=1;
for i1=1:js0%判断只要A{1,js0}各矩阵中若存在某一元素和i相等,则不执行
pdjz=A{1,i1};
pd2=any(pdjz==i);%该句有错误 提示Undefined function or method 'eq' for input arguments of type 'cell'.
if(pd2), pd=0;
break%只需验证有一个就可跳出判断
end
end
if(pd)
for j=i+1:n
if W(1,i)==W(1,j)%先找优先聚类的
lsb=[i,j]; js=js+1; A{1,js}=lsb; C=[];
for k=1:js, C=[C,A(1,k)]; end
js0=js0+1; A{1,js0}=C;
end
end
end
end
D=[];
for r=1:js0%记录没有聚类的
D=[D,A(1,r)];
end
E=setdiff(W,D); el=length(E);
for q=1:el
js0=js0+1; A{1,js0}=E(q);
end
[ 本帖最后由 ChaChing 于 2010-5-24 11:34 编辑 ] |