LPSP,COE\]=EMS(particle(n_par).position(1),...
particle(n_par).position(2),...
particle(n_par).position(3));
%% Calculate Mark
Mark=set.weight_LPSP\*abs(LPSP-set.desired_LPSP)+...
set.weight_COE\*COE/set.Normal_COE;
%% Best Particle
if isempty(particle(n_par).best_Mark) \|\| particle(n_par).best_Mark\>Mark
particle(n_par).best_position=particle(n_par).position;
particle(n_par).best_LPSP=LPSP;
particle(n_par).best_COE=COE;
particle(n_par).best_Mark=Mark;
end
%% Best Global
if (n_ite==1 \&\& n_par==1) \|\| best_global.Mark\>Mark
best_global.position=particle(n_par).position;
best_global.LPSP=LPSP;
best_global.COE=COE;
best_global.Mark=Mark;
end
log_global(n_ite)=best_global;
%% Velocity and New Position
particle(n_par).velocity=set.w\*particle(n_par).velocity...
+set.c1\*(particle(n_par).best_position-particle(n_par).position)...
+set.c2\*(best_global.position-particle(n_par).position);
particle(n_par).position=particle(n_par).position...
+particle(n_par).velocity;
%% Round Position
particle(n_par).position(1)=round(particle(n_par).position(1));
particle(n_par).position(2)=round(particle(n_par).position(2));
particle(n_par).position(3)=round(particle(n_par).position(3));
%% Limit Position
if particle(n_par).position(1)\set.Npv_max
particle(n_par).position(1)=set.Npv_max;
end
if particle(n_par).position(2)\>set.Nbat_max
particle(n_par).position(2)=set.Nbat_max;
end
if particle(n_par).position(3)\>set.Ndg_max
particle(n_par).position(3)=set.Ndg_max;
end
end
end
clear LPSP COE Mark n_ite n_par
%% Show Result
for n_ite=1:set.Niteration
LPSP(n_ite)=log_global(n_ite).LPSP;
COE(n_ite)=log_global(n_ite).COE;
end
subplot(2,1,1);
plot(LPSP);
grid on;
xlabel('n-th Iteration')
ylabel('Loss of Load Probability, LPSP');
subplot(2,1,2);
plot(COE);
grid on;
xlabel('n-th Iteration')
ylabel('Cost of Energy, COE ($)');
tpro=toc;
fprintf('The optimum system size is:\\n Npv=%d\\n Nbat=%d\\n Ndg=%d\\nwith the LPSP = %.3f%% and COE = $%.2f\\nCompute in %.2f s\\n',...
best_global.position,best_global.LPSP\*100,best_global.COE,tpro);
beep;
## ****🎉3**** ****参考文献****
> 部分理论来源于网络,如有侵权请联系删除。
\[1\]张翀,张嘉楠,杨伟涛等.光储充多站合一能量管理系统设计\[J\].电气技术与经济,2023(03):125-128.
\[2\]杨睿陌. 基于混合MPPT算法的光伏能量管理系统设计\[D\].哈尔滨工业大学,2022.DOI:10.27061/d.cnki.ghgdu.2022.001839.
## [🌈](https://mp.weixin.qq.com/mp/appmsgalbum?__biz=Mzk0MDMzNzYwOA==&action=getalbum&album_id=2591810113208958977#wechat_redirect "🌈")****4 Matlab代码实现****