matlab|电动汽车充放电V2G模型

news/2024/9/7 15:23:38

目录

1 主要内容

1.1 模型背景

1.2 目标函数

2 部分代码

3 效果图

4 下载链接


主要内容

本程序主要建立电动汽车充放电V2G模型,采用粒子群算法,在保证电动汽车用户出行需求的前提下,为了使工作区域电动汽车尽可能多的消纳供给商场基础负荷剩余的光伏电量,根据光伏出力与工作区负荷的偏差制定动态分时电价模型,从而减少峰谷差,保障电网稳定性,同时能够提高电动汽车用户的充放电满意度,实现双赢。配电网负荷方差最小目标函数包含了工作区常规负荷、光伏出力及电动汽车的充放电电量,应用了电动汽车源-荷二重性。

1.1 模型背景

在保证电动汽车用户出行需求的前提下,为了使工作区域电动汽车尽可能多的消纳供给商场基础负荷剩余的光伏电量,根据光伏出力与工作区负荷的偏差制定动态分时电价模型,从而减少峰谷差,保障电网稳定性,同时能够提高电动汽车用户的充放电满意度,实现双赢,模型如下。

式中,Pori,t为 t 时刻工作区负荷与光伏出力的差值,Pdt 为该 t 时刻工作区的基础负荷, Ppv为该 t 时刻的光伏发电量, Pave为偏差 Pori总量的算术平均数。

假设车主当日离开居住地到达工作区的时刻即车辆接受调度的开始时刻,下午下班离开工作区前往居住地的时刻为调度结束时刻,则单个电动汽车满足调度的起止时刻概率密度分别满足如下正态分布函数:

  • 离开园区时间如下:

  • 到达园区时间如下:

  • 私家车的日行驶里程基本符合如下所示的正态分布函数:

1.2 目标函数

配电网负荷方差最小目标函数包含了工作区常规负荷、光伏出力及电动汽车的充放电电量,应用了电动汽车源-荷二重性。

1.3 约束条件

充电电量约束
负荷约束
可调度负荷约束
动力电池 SOC 约束
可调度时间约束

部分代码

%% 算法参数
parameter;
close all;
global PV_load Power_load number_ car_data soc_end  EV_load
​
MaxIt=300;      % Maximum Number of Iterations
nPop=250;        % Population Size (Swarm Size)[all_load]=xlsread('data','Sheet1','b2:d20');%负荷PV_load=all_load(:,1)*1;%光伏负荷Power_load=all_load(:,2)*1;%用电负荷[car_data]=xlsread('data','Sheet1','e2:h51');%无序负荷
%  [load_car,car_start,car_leave,car_soc ]= c_car_load(car_number);%电动汽车无序负荷
load_car=car_data(1:48,4);EV_load=load_car(14:32);%电动汽车无序负荷car_start =car_data(:,1);car_leave=car_data(:,2);car_soc=car_data(:,3)-0.1;soc_end=soc_endzi();
car_in=car_start;car_off=car_leave;%% 确定变量for i=1:car_numbercar_in(i)=fix(car_start(i)/30);car_off(i)=fix(car_leave(i)/30);      enddiaodu_carin=[];%可调度diaodu_caroff=[];%可调度diaodu_soc=[];%可调度diaodu_socend=[];jishu=0;%可调度diaodu_carin_=[];%bu可调度diaodu_caroff_=[];%bu可调度diaodu_soc_=[];%bu可调度diaodu_socend_=[];jishu_=0;%bu可调度

效果图

结论:光伏发电在中午的时候达到顶峰,但是工作区的用电高峰在早上和下午,无序模式下电动汽车进入工作区后基本都集中在早上充电,所以对电网的冲击较大,影响电网的稳定性;有序模式下电动汽车中午充电量较无序要多,且电动在上午和下午负荷高峰时刻进行放电,缓解电网负荷陡增的压力。

4 下载链接

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.cpky.cn/p/8553.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈,一经查实,立即删除!

相关文章

数据库增删改查

DDL: 数据定义语言,用来定义数据库对象(数据库、表、字段)DML: 数据操作语言,用来对数据库表中的数据进行增删改DQL: 数据查询语言,用来查询数据库中表的记录DCL: 数据控制语言,用来创建数据库用户、控制数…

【前后端的那些事】文件上传组件封装

文章目录 效果前端代码后端代码组件封装 效果 前端代码 /views/file/file.vue <template><el-row><el-uploadv-model:file-list"fileList"class"upload-demo"multiple:auto-upload"false":on-preview"handlePreview"…

腾讯云助力酒店IT系统上云,实现出海业务的双重优势

潮起潮涌&#xff0c;随着时代浪潮的翻涌&#xff0c;生活处处可见是巨大的变化&#xff0c;衣食住行都有了更多更大的需求&#xff0c;出门旅游观赏当地风景品尝特色美食的前提是要住好&#xff0c;只有休息好了才有更多的精力去游玩。酒店系统的升级上云让登记变得更加便捷&a…

Docker后台启动镜像,如何查看日志信息

执行 docker run -d -p 9090:8080 core-backend-image 命令后&#xff0c;Docker 会在后台运行一个新的容器实例&#xff0c;并映射宿主机的 9090 端口到容器的 8080 端口。要查看启动的容器日志&#xff0c;您需要先获取容器的 ID 或名称&#xff0c;然后使用 docker logs 命令…

观察者模式和发布订阅模式的区别

从下图中可以看出&#xff0c;观察者模式中观察者和目标直接进行交互&#xff0c;而发布订阅模式中统一由调度中心进行处理&#xff0c;订阅者和发布者互不干扰。这样一方面实现了解耦&#xff0c;还有就是可以实现更细粒度的一些控制。比如发布者发布了很多消息&#xff0c;但…

二叉树入门算法题详解

二叉树入门题目详解 首先知道二叉树是什么&#xff1a; 代码随想录 (programmercarl.com) 了解后知道其实二叉树就是特殊的链表&#xff0c;只是每个根节点节点都与两个子节点相连而其实图也是特殊的链表&#xff0c;是很多节点互相连接&#xff1b;这样说只是便于理解和定义…