求解这段代码 大佬们

EZ4FUGAX? 2020-05-06 07:21:28
function result=fitness(x,k)
C_MT=0;
C_GRID=0;
C_BA=0;
P_BA_sum=0;
deltp_sum=0;
P_BA_sum_delt=0;
%储能荷电状态%
BAsocMax=200;
P_load=[11.7 12.4 11.7 12.4 11.7 22.4 81.9 122.4 241.3 242.0 241.3 241.3 241.3 240.7 241.3 240.7 241.3 161.0 122.2 121.1 102.9 101.2 23.0 11.1];
P_pv=[0 0 0 0 0 0 0 0.0391 19.5244 40.0204 50.1010 73.3946 74.3511 76.3489 72.8004 53.1185 4.6258 0 0 0 0 0 0 0];
G_price=[0 0 0 0 0 0 0 0 0.0931 0.0931 0.0931 0.0931 0.0931 0.0931 0.0931 0.0931 0.0931 0.0931 0.0931 0.0931 0.0931 0 0 0];

for i=1:72
if i<25
C_MT=C_MT+0.04*x(i);
elseif i>24&&i<49
C_GRID= C_GRID+G_price(i-24)*x(i);
else
C_BA=C_BA+8*abs(x(i));
end
end

for i=49:72
P_BA_sum=P_BA_sum+(-x(i));
P_BA_sum_delt= P_BA_sum_delt+max(0,P_BA_sum-BAsocMax);
end


if(P_BA_sum_delt<=0)
d=0;
elseif(P_BA_sum_delt>0&&P_BA_sum_delt<=0.001)
d=10;%%%%%迭代次数
elseif(P_BA_sum_delt>0.001&&P_BA_sum_delt<=0.1)
d=20;
elseif(P_BA_sum_delt>0.1&&P_BA_sum_delt<=1.0)
d=100;
else
d=1000;
end

%电功率平衡约束处理
for i=1:24
deltp(i)=abs(P_pv(i)+x(i)+x(i+24)+x(i+48)-P_load(i));
deltp_sum=deltp_sum+deltp(i);
end

if(deltp_sum==0)
r=0.0;
elseif(deltp_sum>0&&deltp_sum<=0.001)
% r=10*sqrt(k);%%%%迭代次数
r=10;
elseif(deltp_sum>0.001&&deltp_sum<=0.1)
r=20;
elseif(deltp_sum>0.1&&deltp_sum<=1.0)
r=100;
else
r=2000;
end
%电功率平衡约束处理
result=C_MT+C_GRID+C_BA+d*P_BA_sum_delt+r*deltp_sum;
...全文
114 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
源代码大师 2021-05-06
  • 打赏
  • 举报
回复
希望对你有帮助:https://blog.csdn.net/it_xiangqiang/category_10581430.html 希望对你有帮助:https://blog.csdn.net/it_xiangqiang/category_10768339.html
yunyouyou121 2020-07-18
  • 打赏
  • 举报
回复
我也在研究这个程序,这是MATLAB。。想问题主找到答案了吗
EZ4FUGAX? 2020-05-06
  • 打赏
  • 举报
回复
有人吗!!!!!!!!!!!!!
EZ4FUGAX? 2020-05-06
  • 打赏
  • 举报
回复
自顶!!!!!!!!!!!!!!!!

64,654

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧