数的平方和

function result =func(x)
sumn=sum(x.^2);
result=sumn;
end
clear all;
close all;
clc;
D=10;%免疫个体维数
NP=100;%免疫个体数目
Xs=20;%取值上限
Xx=-20;%取值下限
G=500;
pm=0.7;%免疫概率
alfa=1;%激励度系数
beta=1;%激励度系数
detas=0.2;%相似值阈值
gen=0;
Ncl=10;%克隆个数
deta0=1*Xs;%邻域范围取值
%%初试种群
f=rand(D,NP)*(Xs-Xx)+Xx;%产生上限值与下限值之间的随机数
for np=1:NPMSLL(np)=func(f(:,np));%计算每个初始值的函数值
end
for np=1:NPfor j=1:NPnd(j)=sum(sqrt((f(:,np)-f(:,j)).^2));%基于欧式距离的亲和度计算if nd(j)<detas%抗体间的相似度计算nd(j)=1;elsend(j)=0;endendND(np)=sum(nd)/NP;%抗体间的浓度计算
end
MSLL=alfa*MSLL-beta*ND;%抗体的激励度计算,由抗体的亲和度和浓度做运算得到%激励度按升序排列
[SortMSLL,Index]=sort(MSLL);
Sortf=f(:,Index);%免疫循环
while gen<Gfor i=1:NP/2%选激励度前N/2个个体进行免疫操作a=Sortf(:,i);Na=repmat(a,1,Ncl);%B = repmat(A, m, n) %将矩阵A复制m*n块,即B由m*n块A平铺而成deta=deta0/gen;for j=1:Ncl%克隆个数for ii=1:Dif rand < pm%变异率Na(ii,j)=Na(ii,j)+(rand-0.5)*deta;endif (Na(ii,j)>Xs)|(Na(ii,j)>Xx)%边界处理Na(ii,j)=rand*(Xs-Xx)+Xx;endendendNa(:,1)=Sortf(:,i);%保留克隆源个体%克隆抑制,保留亲和度最高的个体for j=1:Ncl%克隆个数NaMSLL(j)=func(Na(:,j));end[NaSortMSLL,Index]=sort(NaMSLL);aMSLL(i)=NaSortMSLL(1);NaSortf=Na(:,Index);af(:,i)=NaSortf(:,1)endfor np=1:NP/2for j=1:NP/2nda(j)=sum(sqrt((af(:,np)-af(:,j)).^2));if nda(j)<detasnda(j)=1;elsenda(j)=0;endendaND(np)=sum(nda)/NP/2;endaMSLL=alfa*aMSLL-beta*aND;%种群刷新bf=rand(D,NP/2)*(Xs-Xx)+Xx;for np=1:NP/2bMSLL(np)=func(bf(:,np));endfor np=1:NPMSLL(np)=func(f(:,np));%计算每个初始值的函数值end
for np=1:NP/2for j=1:NP/2ndc(j)=sum(sqrt((bf(:,np)-bf(:,j)).^2));%基于欧式距离的亲和度计算if ndc(j)<detas%抗体间的相似度计算ndc(j)=1;elsendc(j)=0;endendbND(np)=sum(ndc)/NP;%抗体间的浓度计算
end
MSLL=alfa*bMSLL-beta*bND;%抗体的激励度计算,由抗体的亲和度和浓度做运算得到%免疫种群与新生种群合并
f1=[af,bf];
MSLL1=[aMSLL,bMSLL];
[SortMSLL,Index]=sort(MSLL1);
Sortf=f1(:,Index);
gen=gen+1;
trace(gen)=func(Sortf(:,1));
end
Best=Sortf(:,1);
trace(end);
figure,plot(trace)
xlabel("迭代次数")
ylabel("目标函数值")
title("亲和度进化曲线")

免疫算法(matlab)---求数的平方和相关推荐

  1. burg算法matlab求功率谱,基于AR模型的Burg算法功率谱估计.doc

    基于AR模型的Burg算法功率谱估计 三种功率谱估计方法性能研究 1.前言: 我们已经知道一个随机信号本身的傅里叶变换并不存在,因此无法像确定性信号一样用数字表达式来精确表达它,而只能用各种统计平均量 ...

  2. matlab求数的因子,matlab中因子分析的函数factoran如何使用??

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 [lambda,psi,T]= factoran(PHO,2,'xtype','covariance','delta',0,'rotate','none' ...

  3. 万字长文了解免疫算法原理 及求解复杂约束问题(源码实现)

    免疫算法理论 生物免疫系统是-一个复杂的自适应系统.免疫系统能够识别出病原体,具有学习.记忆和模式识别能力,因此可以借鉴其信息处理机制来解决科学和工程问题.免疫算法正是基于生物免疫系统识别外部病原体并 ...

  4. 【故障检测问题】基于matlab免疫算法求解故障检测问题【含Matlab源码 196期】

    一.获取代码方式 获取代码方式1: 完整代码已上传我的资源:[故障检测问题]基于matlab免疫算法求解故障检测问题[含Matlab源码 196期] 获取代码方式2: 通过订阅紫极神光博客付费专栏,凭 ...

  5. 【优化布局】基于免疫算法求解充电站最优布局matlab代码

    1 简介 为了普及电动汽车,以缓解我国日益严重的环境能源问题,本文研究电动汽车充换电站的选址方法,旨在利用提高电动汽车充电设施的覆盖范围,加快电动汽车的普及发展.本文建立人们日常出行模型,模拟电动汽车 ...

  6. 免疫算法(IA)MatLab代码详解

    CSDN编辑器里面没有MATLAB选项,所以我为了注释更清楚,用的是//,大家不要被误解了呀,算法看代码就好了 1 免疫算法的精髓 生物免疫系统:动态性免疫.自适应免疫 免疫算法-保证信息的无害性.有 ...

  7. 【智能优化算法】基于免疫算法求解单目标优化问题附matlab代码

    1 简介 自Farmer在1986年提出免疫机理可以在机器学习等工程问题中得到应用之后,相关人员就一直在探索免疫机理在工程实际中的应用技术.而De Castro等完善了算法结构和算法模型后,更为人工免 ...

  8. MATLAB 求函数极值的内置函数一览表(实则优化算法函数汇总)

    MATLAB 求函数极值的内置函数一览表 收集了几乎所有的 MATLAB 内置的优化函数,可收藏,需要时查阅. 文章目录 MATLAB 求函数极值的内置函数一览表 简介 概览 求函数极值(或最大值最小 ...

  9. 【优化布局】基于matlab免疫算法求解充电站最优布局【含Matlab源码 2539期】

    ⛄一.获取代码方式 获取代码方式1: 完整代码已上传我的资源:[生产调度]基于matlab免疫算法求解生产调度零等待问题[含Matlab源码 1178期] 点击上面蓝色字体,直接付费下载,即可. 获取 ...

最新文章

  1. 计算机网络谢希仁第七版课后答案第六章 应用层
  2. 小程序循环不同的组建_小程序之八,对象数组、循环及条件渲染
  3. 批量关闭公众号推送_啥?微信又出新功能了?或将提醒用户关闭长期未读公众号推送...
  4. 如何在客户端清除fileUpLoad控件的文件路径
  5. 使用头文件的原因和规范
  6. 导入drf_Django后端rest最简洁最快最全入门指南,1天学会DRF后端不夸张,看这篇就够了!!...
  7. ListView可拖拽item的原理
  8. 数据特征分析方法总结
  9. utils工具 常见函数
  10. 阿里 机器翻译 api
  11. 磁性开关的种类和工作原理
  12. Echarts地图实现闪动气泡,或者加载本地图片,改变颜色和symbolSize大小效果
  13. 【iOS-cocos2d-X 游戏开发之二】【必看篇】总结阐述Cocos2d-X与Cocos2d-iphone区别;
  14. CSS实现PC端简单的聊天消息气泡样式
  15. 网卡、声卡、显卡的作用
  16. 如何使用m3u8格式下载快手直播回放的视频?自动转换MP4
  17. OnlyOffice DocumentServer安装说明
  18. 傻瓜式裂变—竖屏视频超级原创,呆头鹅批量剪辑软件上万人使用
  19. 显卡测试哪个软件好,哪种显卡测试软件更好
  20. html美化页面的语言,HTML代码美化

热门文章

  1. 表格标题中方正小标宋简体为什么显示不一样?
  2. 华为云桌面客户端_华为云CloudIDE的前世今生
  3. LDN 左移64单开槽蓝牙5.2双模RGB PCB(GH60兼容)
  4. java castor_Castor以及Java和XML数据绑定
  5. 我经常用的一款切图工具
  6. 完爆面试官!阿里P7级别面试经验总结,知乎上转疯了!
  7. 丁鹿学堂:css预处理器之less学习(一)
  8. 《写给大家看的设计书》总结
  9. 数据集:谭松波--酒店评论语料、人脸68位关键点、WIDE Face数据集
  10. 【u8+】调账提示:此分录已两清,不能删除或修改