考虑光伏出力利用率的电动汽车充电站能量调度策略研究(Matlab代码实现)

2024-01-24

???????????????? 欢迎来到本博客 ❤️❤️????????

????博主优势: ???????????? 博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。

⛳️ 座右铭: 行百里者,半于九十。

???????????? 本文目录如下: ????????????

目录

????1 概述

????2 运行结果

????3 参考文献

????4 Matlab代码、数据


????1 概述


针对间歇性能源利用的问题,构建电动汽车的充放电灵活度指标,用以评估电动汽车参与光伏充电站能量调度的能力;令充电站在饥饿模式或饱和模式下运行,并根据当前运行模式采用不同的电动汽车准入规则,以最大化光伏输出利用率和充电任务完成率为目标,根据电动汽车充放电灵活度动态制定电价,在提升光伏利用率的同时减少发电量波动带来的影响。
主要贡献如下:
A.提出了充电/放电灵活性评估EV参与能源调度的能力。充分利用V2G服务,加强了电动汽车与充电站的合作。
B.考虑到充电站与主电网隔离。PCS根据EV的灵活性动态地确定PV的使用,并在增加PV利用率的同时减少PV输出波动的影响。

随着电动汽车的普及,充电站的能量调度策略变得越来越重要。光伏出力利用率是指光伏发电系统实际发电量与理论最大发电量之比,是衡量光伏发电系统性能的重要指标。在电动汽车充电站中,光伏出力利用率的提高可以有效地降低充电成本,提高能源利用效率。

为了研究光伏出力利用率的电动汽车充电站能量调度策略,可以从以下几个方面进行研究:

1. 光伏发电系统的优化设计:通过优化光伏发电系统的设计,提高光伏出力利用率。可以考虑选择合适的光伏组件、逆变器和支架,优化光伏阵列的布置和倾角,以及采用智能跟踪系统等技术手段,提高光伏发电系统的性能。

2. 充电设备的智能控制:通过智能控制充电设备的充电功率和充电时段,使充电设备在光伏出力较高时进行充电,从而提高光伏出力利用率。可以采用预测光伏出力的方法,结合充电需求进行动态调度,实现最优的能量调度策略。

3. 储能系统的应用:在光伏发电系统和充电设备之间增加储能系统,可以在光伏出力较低时存储多余的电能,然后在光伏出力较低时释放电能进行充电,从而提高光伏出力利用率。

综合考虑以上几个方面,可以研究出一套针对光伏出力利用率的电动汽车充电站能量调度策略,从而实现充电成本的降低和能源利用效率的提高。这对于推动电动汽车的普及和光伏发电系统的应用具有重要意义。

???? 2 运行结果

部分代码:

pvFlu=0.2;   %光伏出力的波动范围为0.2
p1=1;    %光伏电价系数
p2=1;    %基础电价
EVnum=sum(dayev);
time=24;   %每个时间段为半小时,共计12小时

originFile=evfile;
curFile=[];
preFile=[];
waitFile=[];
acpLine=zeros(2,time);   %EV接收记录
scheLine=zeros(EVnum,time);  %EV操作记录,第一列为EV编号
pvUseLine=zeros(time,8);

%初始时刻的求解
Tcur=1;
curFile=evfile(:,1);
flexLine=getFlexLine(curFile,Tcur);
[~,window]=size(flexLine);
capTrans=2*abs(flexLine(2,:));     %EV需求电量的变动范围=2*放电自由度
pvUseMax=max(capTrans/pvFlu,0.8*pvFuture(Tcur:Tcur+window-1)');   %pv计划用量=max(pv安全用量,pv预测值下限)
pvUseMax=min(pvUseMax,pvFuture(Tcur:Tcur+window-1)');   %pv使用量不能超过光伏预测值
pvUseLine(1,:)=[pvUseMax(1,:),zeros(1,8-length(pvUseMax))];
price=p2-p1*(pvUseMax/(sum(pvUseMax)));  %依据光伏出力波动制定时变电价
%求解schedule
schedule=CvxSchedule(curFile,Tcur,price,pvUseMax);
%应用schedule
curNum=size(curFile,2);
for i=1:curNum
EVtag=curFile(6,i);   %获取EV编号
curFile(1,i)=curFile(1,i)+schedule(i);   %更新电量信息
scheLine(EVtag,Tcur)=schedule(i);   %记录充放电行为
end


for Tcur=2:time
% 更新curFile,将已到达离网时间的EV切出PL
curNum=size(curFile,2);
for i=1:curNum
point=curNum+1-i;
if(curFile(4,point)<Tcur)
preFile=[preFile,curFile(:,point)];
curFile(:,point)=[];
end
end
%计算curFile下的PL电量富余
curNum=size(curFile,2);
Tleft=zeros(curNum,1);
for i=1:curNum
Tleft(i)=curFile(4,i)-Tcur+1;
end
window=max(Tleft);  %窗口大小

supply=sum(0.8*pvFuture(Tcur:Tcur+window-1)');
demand=sum(curFile(2,:)-curFile(1,:));
leftSupply=supply-demand;
%更新当前evfile,接收符合条件的EV
preNum=sum(dayev(1:Tcur-1));
waitNum=dayev(Tcur);
waitFile=evfile(:,preNum+1:preNum+waitNum);
for i=1:waitNum
subDemand=waitFile(2,i)-waitFile(1,i);
if leftSupply>=subDemand
curFile=[curFile,waitFile(:,i)];     %添加到当前evfile
leftSupply=leftSupply-subDemand;
acpLine(1,Tcur)=acpLine(1,Tcur)+1;   %接收记录+1
else
acpLine(2,Tcur)=acpLine(2,Tcur)+1;   %拒收记录+1
end
end
%evfile更新完毕,重新计算光伏用量
flexLine=getFlexLine(curFile,Tcur);
window=size(flexLine,2);
capTrans=2*abs(flexLine(2,:));     %EV需求电量的变动范围=2*放电自由度
pvUseMax=max(capTrans/pvFlu,0.8*pvFuture(Tcur:Tcur+window-1)');   %pv计划用量=max(pv安全用量,pv预测值下限)
pvUseMax=min(pvUseMax,pvFuture(Tcur:Tcur+window-1)');   %pv使用量不能超过光伏预测值
pvUseLine(Tcur,:)=[pvUseMax(1,:),zeros(1,8-length(pvUseMax))];
price=p2-p1*(pvUseMax/(sum(pvUseMax)));  %依据光伏出力波动制定时变电价
%求解schedule
schedule=CvxSchedule(curFile,Tcur,price,pvUseMax);
%应用schedule

????3 参考文献

文章中一些内容引自网络,会注明出处或引用为参考文献,难免有未尽之处,如有不妥,请随时联系删除。

[1]葛文捷.含光伏电源的电动汽车充电站服务定价策略研究[D].北京交通大学,2015.

[2]陈浩然,赵晓丽.考虑分布式光伏发电的电动汽车充电策略研究[J].中国管理科学, 2023, 31(4):161-170

[3]李宁,田丽,董阿龙,等.电动汽车光伏充电站能量优化管理[J].鸡西大学学报, 2019, 019(009):31-36.

???? 4 Matlab代码、数据

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

考虑光伏出力利用率的电动汽车充电站能量调度策略研究(Matlab代码实现) 的相关文章

  • 将零填充到二进制数中特定位置的命令?

    我需要将零填充到二进制数的特定位置 循环二进制数的数组形式 例如dec2bin 43 添加零并调整大小听起来像是轮子的重新发明 如何在Matlab中有效地将零填充到二进制数 Looping positions 1 3 6 x de2bi 4
  • 将 3D 矩阵与 2D 矩阵相乘

    假设我有一个AxBxC matrix X and a BxD matrix Y 是否有一种非循环方法可以将每个C AxB矩阵与Y 作为个人喜好 我希望我的代码尽可能简洁和可读 这是我会做的 尽管它不符合您的 无循环 要求 for m 1 C
  • 分割车牌字符

    我在从车牌图像中分割字符时遇到问题 我应用了以下方法来提取车牌字符 车牌图像的自适应阈值 选择具有特定纵横比的轮廓 如果车牌图像中有任何阴影 如附件中所示 由于二值化不正确 我无法正确分割字符 图像中的阴影合并图像中的相邻字符 我已经对具有
  • 有没有办法在 mex 文件中制作 try-catch 语句?

    我知道在 C 中没有内置的方法来执行 try catch 语句 但是 MATLAB 是否为 MEX 文件提供了任何类型的 try catch 功能 我尝试使用Longjmp and Setjmp以中描述的方式http www di unip
  • 连接每第 n 行

    我在矩阵中得到了一个数据集 如下所示 从 Excel 导入 matrix Cat1 1 2 3 4 Cat2 9 10 11 12 Cat3 17 18 19 20 Cat1 5 6 7 8 Cat2 13 14 15 16 Cat3 21
  • 如何在 MATLAB 中调整矩阵大小?

    假设我有一个1 by 12矩阵 我想将其调整为4 by 3矩阵 我怎么能这样做呢 我当前的解决方案有点丑陋 for n 1 length mat 3 out n 1 3 mat n 1 3 1 n 1 3 3 end 有一个更好的方法吗 r
  • 具有表面梯度的颜色 matplotlibplot_surface 命令

    我想将 surf 命令从MATLAB到plot surface命令中绘图库 我面临的挑战是使用时cmapplot surface 命令中的函数用渐变为表面着色 这里是matlab script Matlab Commands x 5 25
  • MATLAB:让audioplayer()在函数结束后继续播放

    我正在使用使用以下子函数的代码 function playTone duration toneFreq Generate a tone samplesPerSecond 44100 the bit rate of the tone y si
  • 使用 MAT2CELL 的 MATLAB

    我有以下矩阵 letter A B C D E F G H I J K L M N O P Q R S T U V W X Y Z a b c d e f g h ii jj k l m o p q r s t u v w x y z nu
  • Windows 上 Matlab 64 位版本的免费 SCM [已关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 当 Matlab 安装为 64 位版本时 它只能使用 64 位源代码控制系统 是否有免费的源代码控制系统
  • 同时使用两个数组中的元素的过滤器

    假设我们有两个大小相同的数组 A and B 现在 我们需要一个过滤器 对于给定的掩码大小 从以下位置选择元素A 但删除掩码的中心元素 并在其中插入相应的元素B 所以 3x3 伪掩码 看起来类似于 A A A A B A A A A 对平均
  • 如何将Matlab命令的输出重定向到文件? [复制]

    这个问题在这里已经有答案了 我想将 Matlab 命令的输出重定向或复制到文件中 我怎样才能做到这一点 就我而言 我想使用 UNIX 工具比较两个大型结构diff 示例 我可以在 Matlab 中执行此操作 gt gt s1 s1 a 32
  • MATLAB 引擎函数的输入参数

    我正在尝试使用 MATLAB 引擎在 Python 中调用 MATLAB 函数 但遇到一些问题 在设法将 NumPy 数组作为函数的输入处理后 现在 MATLAB 出现一些错误 MatlabExecutionError 未定义输入函数 si
  • MATLAB:解包函数

    我正在与 Mathworks 的某人讨论 unwrap http www mathworks com access helpdesk help techdoc ref unwrap html函数中对于 以外的跳跃容差有一个 bug 并且希望
  • Google Chrome 的互联网历史记录脚本

    我并不是在寻找 最佳 或最有效的脚本来执行此操作 但我想知道是否存在一个脚本可以从 Google Chrome 中提取一天的互联网历史记录并将其记录到 txt 文件中 我更喜欢用 Python 或 MATLAB 编写 如果你们有不同的方法
  • 我的 matlab 图中需要不同的颜色

    这是我的情节代码 问题是我的图中的两条线具有相同的颜色 我需要为图中的每条线 总共 4 条线 分配一个特殊的颜色 for i 1 nFolderContents data hdrload folderContents i if size f
  • Matlab 中二维插值的函数形式

    我需要从二维数据数组构造一个插值函数 我需要返回实际函数的东西的原因是 我需要能够将函数作为我需要进行数值积分的表达式的一部分进行计算 因此 interp2 并没有解决这个问题 它不返回函数 我可以使用 TriScatteredInterp
  • 如何在matlab中绘制彩色一维直方图

    我有一个一维数组 X 其中包含相关系数的统计数据 我想绘制一个彩色直方图 我使用以下代码 histogram X 10 它可以创建具有单色的直方图 现在我想绘制一个直方图 其中每个条形都有不同的颜色 但 FaceColor 选项只能调整整个
  • 在Matlab中将矩阵中的元素i,j设置为i*j

    我想生成一个矩阵 其中 i j 元素等于 i j 其中 i j e g 0 2 3 2 0 6 3 6 0 到目前为止 我已经发现我可以使用这个索引矩阵访问非对角线元素 idx 1 eye 3 但我还没有弄清楚如何将矩阵单元的索引合并到计算
  • MATLAB 链表

    有哪些可能的方法来实现链表MATLAB http en wikipedia org wiki MATLAB 注意 我问这个问题是为了教学价值 而不是实用价值 我意识到 如果您实际上在 MATLAB 中滚动自己的链表 那么您可能做错了什么 然

随机推荐