作业帮 > 综合 > 作业

求高手看看程序怎么修改,红色的地方,

来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/05/28 03:58:09
求高手看看程序怎么修改,红色的地方,
function
[xj,candidate]=mine_assiociation_rules(X,th,thconf)
[m,n]=size(X);
k=0;
for i=1:n
nm1(i)=sum(X(:,i));
if nm1(i)>=th
k=k+1;
pf1(k)=i;
pfxj(k).element=i;
pfxj(k).time=nm1(i);
end
end
xj{1}=pfxj;
clear pfxj;
if k>0
l=0;
for i=1;k-1
for j=i+1:k
l=l+1;
pf{1}=[pf1(i),pf1(j)];
end
end
end
nm(1:l)=0;
for i=1:m
for j=1:l
se=pf{j};
if (x(i,se(1))==1)&(X(i,se(2))==1)
nm(j)=nm(j)+1;
end
end
end
k=0;
for i=1:l
if nm(i)>=th
k=k+1;
candidate{k}=pf{i};
pfxj(k).element=pf{i};
pfxj(k).time=nm(i);
end
end
xj{2}=pfxj;
clear pfxj;
function in
num=2;
while(k>0)
le=length(candidate{1});
nl=0;
for i=1:k-1
for j=i+1:k
x1=candidate{i};
x2=candidate{j};
c=intersect(x1,x2);
if
(length(c)==le-1)&(sum(c==x1(1:le-1))==le-1)
houxuan=union(x1(1:le),x2(le));
sub_set=subset(houxuan);
NN=length(sub_set);
r=1;M=0;
while(r & M0
nn(1:k)=0
le=length(cand{1});
for i=1:m
for j=1:k
d=cand{j};
x=X(i,:);
if sum(x(s))==le
nn(j)=nn(j)+1;
end
end
end
end
nnn=length(nn);
nnnn=0;
for j=1:nnn
if nn(j)=th
nnnn=nnnn+1;
end
end
if nnnn==0
break;
end
ll=0;
wq=[];
candmid=[];
for i=1:k
if nn(i)>=th
ll=ll+1;
wq(ll)=nn(i);
candmid{ll}=cand{i};
pfxj(ll).element=cand{i};
pfxj(ll).time=nn(i);
end
end
result=strcat('得到的频繁’,num2str(num),'项集为:’);
disp(result)
for i=1:length(candidate)
ww=length(candidate{1});
result=num2str(candidate{i});
disp(result)
end
k=length(candmid);
if k>0
num=num+1;
cand=[];
end
disp('得到的频繁项集为:’)
for i=1:length(candidate)
ww=length(candidate{1});
result=num2str(candidate{i});
disp(result)
end
1、result=strcat('得到的频繁’,num2str(num),'项集为:’);
2、disp('得到的频繁项集为:’) 这两个地方,MATLAB程序
esult=strcat('得到的频繁’,num2str(num),'项集为:’);
我感觉你右边的符号是中文输入法下输入的,再修改一下试试?这两个函数从语法上来说,你使用的方式是对的,不会有问题.