人工免疫小生境聚类程序.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
人工免疫小生境聚类程序

clc clear all saw=load(ywh.txt); saw0(:,1:2)=saw(:,3:4); k=3; [m n]=size(saw0); ma=max(saw0); mi=min(saw0); for i=1:m sa(i,:)=(saw0(i,:)-mi)./(ma-mi); end Size=1000; %? 初始代码容量 FG=500;%样本集 BG=50;%解集 BT=100;%优秀 SG=400;%子代 se=0.01; CodeL=15;%二进制长度 P=k*n; E=round(rand(Size,P*CodeL));%初始代码库 count=0; for i=1:FG cn=fix(rand*Size); if cn==0 cn=cn+1; end father(i,:)=E(cn,:); end for i=1:50 [fag]=father2binfun(father,FG,P,CodeL);%转换成十进制解 [bestan,best,bf,zbf]= computfun(sa,fag,FG,k,m,n);%最优解,最优指标,解集,指标值 sl=0.2; [zbf]=xshfun(fag,zbf,sl,k,n); [father]=aiafun(fag,zbf,BG,FG,P,CodeL);%淘汰克隆转换成二进制,变异 end [fag]=father2binfun(father,FG,P,CodeL);;%转换成十进制 [bestan,best,bf,zbf]= computfun(sa,fag,FG,k,m,n);%bestan, xk=bestan; lesa=zeros(k,m); for i=1:m du=zeros(1,k); for j=1:k dup(j,:)=sa(i,:)-xk(j,:); du(1,j)=sum(dup(j,:).^2); end dmi=min(du); df=find(dmi==du); lesa(df,i)=i; end function [fag]=father2binfun(father,FG,P,CodeL) for i=1:FG cnc=0; for j=1:P cnc=(j-1)*CodeL+1; cnl=j*CodeL; temp=father(i,cnc:cnl); fag(i,j)=0; for jk=1:CodeL if temp(1,jk)==1 fag(i,j)=fag(i,j)+1/(2^(jk-1)); end end if fag(i,j)=1 fag(i,j)=fag(i,j)-1; end end end function [bestan,best,bf,zbf]=computfun(sa,fag,FG,k,m,n) lesa=zeros(k,m); zbf=zeros(FG,1); for i=1:FG ax=zeros(k,n); cnc=0; for jk=1:k cnc=(jk-1)*n+1; cnl=jk*n; ax(jk,:)=fag(i,cnc:cnl); end sup=zeros(1,m); for jm=1:m dop=zeros(1,k); for jk=1:k for jn=1:n dop(1,jk)=dop(1,jk)+(sa(jm,jn)-ax(jk,jn))^2; end dop(1,jk)=sqrt(dop(1,jk)); end sup(1,jm)=min(dop); end mup=zeros(k-1,1); for ik=1:k-1 hk=ik; for io=(ik+1):k temp=0; for jn=1:n temp=temp+(ax(hk,jn)-ax(io,jn))

文档评论(0)

zhengshumian + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档