clc;
clear;
close all;
warning off;
addpath(genpath(pwd));
rng('default')
% BA算法参数
maxiter = 10000; % 迭代次数
sizepop = 50; % 种群数量
% 频率范围
popmin1 = -1; popmax1 = 1; % x1 频率
popmin2 = -1; popmax2 = 1; % x2 频率
Qmin = 0.1; % 最小频率
Qmax = 0.5; % 最大频率
A = 0.1; % 音量 (不变或者减小)
impluse = 0.85; % 脉冲率 (不变或增加)
Vmin = -1; % 最小速度
Vmax = 1; % 最大速度
%% 初始化种群
for i=1:sizepop
x1 = popmin1 + (popmax1-popmin1)*rand;
x2 = popmin2 + (popmax2-popmin2)*rand;
pop(i,1) = x1;
pop(i,2) = x2;
fitness(i) = fun([x1,x2]);
V(i,1)=0;
V(i,2)=0;
end
% 记录一组最优值
[bestfitness,bestindex]=min(fitness);
zbest=pop(bestindex,:); % 全局最佳
gbest=pop; % 个体最佳
fitnessgbest=fitness; % 个体最佳适应度值
fitnesszbest=bestfitness; % 全局最佳适应度值
%% 迭代寻优
for i=1:maxiter
i
for j=1:sizepop
Q = Qmin + (Qmax-Qmin)*rand;
V(j,:) = V(j,:) + (pop(j,:)-zbest)*Q;
% V--x1
if V(j,1)>Vmax
V(j,1)=Vmax;
end
if V(j,1)<Vmin
V(j,1)=Vmin;
end
% V--x2
if V(j,2)>Vmax
V(j,2)=Vmax;
end
if V(j,2)<Vmin
V(j,2)=Vmin;
end
pop(j,:) = pop(j,:) + 0.5*V(j,:);
% 脉冲率
if rand>impluse
pop(j,:) = zbest + A * randn(1,2);
end
% x1 越界限制
if pop(j,1)>popmax1
pop(j,1)=popmax1;
end
if pop(j,1)<popmin1
pop(j,1)=popmin1;
end
% x2 越界限制
if pop(j,2)>popmax2
pop(j,2)=popmax2;
end
if pop(j,2)<popmin2
pop(j,2)=popmin2;
end
% 适应度更新
fitness(j) = fun(pop(j,:));
% 比较 个体间比较
if fitness(j)<fitnessgbest(j)
fitnessgbest(j) = fitness(j);
gbest(j,:) = pop(j,:);
end
if fitness(j)<bestfitness
bestfitness = fitness(j);
zbest = pop(j,:);
end
end
fitness_iter(i) = bestfitness;
end
disp('最优解')
disp(zbest)
fprintf('\n')
figure
plot(fitness_iter,'r','linewidth',2)
figure
semilogx(1:maxiter,fitness_iter,'r','linewidth',2)
axis tight
没有合适的资源?快使用搜索试试~ 我知道了~
蝙蝠优化算法的matlab性能仿真【包括程序操作视频】
共3个文件
m:2个
mp4:1个
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
5星 · 超过95%的资源 1 下载量 136 浏览量
2024-01-25
23:46:49
上传
评论 1
收藏 1.64MB RAR 举报
温馨提示
1.版本:matlab2022A,包含仿真操作录像,操作录像使用windows media player播放。 2.领域:蝙蝠优化 3.仿真效果:仿真效果可以参考博客同名文章《蝙蝠优化算法的matlab性能仿真》 4.内容:蝙蝠优化算法的matlab性能仿真。蝙蝠优化算法(Bat Algorithm,BA)是一种启发式搜索算法,由Yang教授于2010年基于群体智能提出。该算法模拟了自然界中蝙蝠利用声呐探测猎物和避免障碍物的行为。在算法中,蝙蝠的个体被映射为问题的可行解,通过蝙蝠的飞行和搜索过程来寻找全局最优解。 5.注意事项:注意MATLAB左侧当前文件夹路径,必须是程序所在文件夹位置,具体可以参考视频录。
资源推荐
资源详情
资源评论
收起资源包目录
蝙蝠优化算法的matlab性能仿真.rar (3个子文件)
20240125_231501.mp4 1.85MB
code
main.m 2KB
fun.m 112B
共 3 条
- 1
资源评论
- 2301_768850182024-04-17资源不错,很实用,内容全面,介绍详细,很好用,谢谢分享。
fpga和matlab
- 粉丝: 17w+
- 资源: 2626
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- PHPThinkphp+Vue2.0前后端分离框架通用后台源码数据库 MySQL源码类型 WebForm
- 构建一个大模型训练、微调、评估、推理、部署的全流程开发套件,基于MindSpore内置的并行技术和组件化设计
- 基于SpringCloud+Vue的财务数据管理系统(后端代码)
- 基于SpringBoot+Vue的在线课程管理系统(前端代码)
- 基于SpringBoot+Vue的在线课程管理系统(后端代码)
- MindInsight为MindSpore提供了简单易用的调优调试能力 用于模型优化的可视化仪表板
- 野火霸道开发板485原工程
- 国产化自主可控的人工智能开源平台 平台面向人工智能研究中的数据处理、算法开发、模型训练、算力管理和推理应用等各个流程的技术难点
- 基于Springboot+Vue的江西红色旅游景点宣传网站(后端代码)
- 基于Springboot+Vue的江西红色旅游景点宣传网站(管理端代码)
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功