clc;
clear;
close all;
warning off;
addpath(genpath(pwd));
CostFunction=@(x) Sphere(x); % Cost Function
nVar=5; % Number of Decision Variables
VarSize=[1 nVar]; % Decision Variables Matrix Size
VarMin=-10; % Lower Bound of Variables
VarMax= 10; % Upper Bound of Variables
% ICA Parameters
MaxIt=2000; % Maximum Number of Iterations
nPop=100; % Population Size
nEmp=15; % Number of Empires/Imperialists
alpha=1; % Selection Pressure
beta=1.5; % Assimilation Coefficient
pRevolution=0.05; % Revolution Probability
mu=0.1; % Revolution Rate
zeta=0.2; % Colonies Mean Cost Coefficient
% Globalization of Parameters and Settings参数和设置的全球化
global ProblemSettings;
ProblemSettings.CostFunction=CostFunction;
ProblemSettings.nVar=nVar;
ProblemSettings.VarSize=VarSize;
ProblemSettings.VarMin=VarMin;
ProblemSettings.VarMax=VarMax;
global ICASettings;
ICASettings.MaxIt=MaxIt;
ICASettings.nPop=nPop;
ICASettings.nEmp=nEmp;
ICASettings.alpha=alpha;
ICASettings.beta=beta;
ICASettings.pRevolution=pRevolution;
ICASettings.mu=mu;
ICASettings.zeta=zeta;
% Initialization
% Initialize Empires
emp=CreateInitialEmpires();
% Array to Hold Best Cost Values
BestCost=zeros(MaxIt,1);%% MaxIt=500
% ICA Main Loop
for it=1:MaxIt
% Assimilation
emp=AssimilateColonies(emp);
% Revolution
emp=DoRevolution(emp);
% Intra-Empire Competition
emp=IntraEmpireCompetition(emp);
% Update Total Cost of Empires
emp=UpdateTotalCost(emp);
% Inter-Empire Competition
emp=InterEmpireCompetition(emp);
% Update Best Solution Ever Found
imp=[emp.Imp];
[~, BestImpIndex]=min([imp.Cost]);
BestSol=imp(BestImpIndex);
% Update Best Cost
BestCost(it)=BestSol.Cost;
% Show Iteration Information
disp(['Iteration ' num2str(it) ': Best Cost = ' num2str(BestCost(it))]);
end
figure;
%plot(BestCost,'LineWidth',2);
semilogy(BestCost,'b','LineWidth',2);
xlabel('Iteration');
ylabel('Best Cost');
grid on;
fpga和matlab
- 粉丝: 18w+
- 资源: 2641
最新资源
- win32汇编环境,对话框程序里对画弧线的理解
- 考虑风光不确定性的主动配电网经济优化调度研究
- 多CA多TA迸发调用引发的思考
- 自动驾驶控制-三自由度非线性Nmpc跟踪双移线路径 非线性模型没有对动力学模型做线性化,直接进行求解,优点是比较精度高,缺点是计算比较费时 matlab和carsim联合仿真
- 移相全桥ACDC闭环控制仿真模型,交流电压经过不控整流输出直流电压,单电压闭环控制 只提供仿真文件
- 化工企业仪表维护信息系统-Python开发的高效信息查找软件(含代码及解释)
- 永磁直驱风力发电系统,永磁同步电机,风力发电系统,风力机仿真模型,采用背靠背结构 风力机mppt采用最佳尖速比控制,机侧采用零d轴控制;网侧采用电网电压定向矢量双闭环控制
- 嵌入式实时操作系统课程代码,互斥信号量、事件标志组、改为串口打印结果、跑马灯1、跑马灯及闪灯、按键控制跑马灯及闪灯、LCD显示变化的数字、任务的挂起与恢复-秒表实现、用信号量实现秒表、打气球游戏
- docker方式启动self-service-password 配置文件
- 该模型采用Id=0控制,重点是永磁同步电机的模型是自己搭建,不是采用simulink的自带的PMSM,可以对参数电机参数进行改动
- Matlab simulink仿真模型搭建(电池相关) 可接锂电池或电池包建模搭建 单体电池方面: 1、电池等效电路模型搭建(RC模型) 2、电池特征参数辨识(离线、在线、自适应) 3、电池SOC估计
- lanchain的RAG实践研究
- 基于MATLAB实现mp4视频的高效离散余弦变换(DCT/IDCT)编码及其质量评估
- QPSK调制解调 FPGA 实现 verilog 语言 同样支持 FSM,MSK,DBPSK,DQPSK,8PSK,16QAM等信号调制解调FPGA开发 目前只支持用 vivado,modelsim实
- 嵌入式常用软件-Image2Lcd 2.9-Zimo3Pro((基础例程显示例程的字符取模)-串口助手-普中usb-ISP烧录
- OPCDA转OPCUA工具软件,网关软件 以前许多老工程都是使用的DA Server 本软件采用OPC Client读取数据并转为UA Server
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈