【电力系统】基于Matlab实现风电光伏概率潮流计算

news2024/11/23 4:10:09

✅作者简介:热爱科研的Matlab仿真开发者,修心和技术同步精进,matlab项目合作可私信。

🍎个人主页:Matlab科研工作室

🍊个人信条:格物致知。

更多Matlab仿真内容点击👇

智能优化算法  神经网络预测 雷达通信  无线传感器

信号处理 图像处理 路径规划 元胞自动机 无人机  电力系统

⛄ 内容介绍

潮流计算是电力系统的一项重要分析功能,是进行故障计算,继电保护整定,安全分析的必要工具.本文提出了利用Matlab语言来进行电力系统潮流计算.通过算例,说明了该方法编程简便,运算效率高并符合人们的思维习惯,计算结果能满足工程计算需要,同时验证了该方法的有效性.

⛄ 部分代码

%相关原始数据格式说明如下:

%n——节点个数;n1——支路条数;isb——平衡节点号;H——PQ节点个数(为后面形成PVU存储PV节点初始电压用);

%pr——误差精度。

%B1——支路参数矩阵,其中第一列和第二列是起始节点编号和终点节点编号,第三列、第四列、第五列、第六列分别为:

%支路电阻、电抗、变压器变比、电纳。(不考虑电导)

%B2——节点参数矩阵,其中第一列和第二列为节点编号和节点类型;第三列到第六列分别为:

%注入有功、注入无功、电压幅值、电压相位。

%节点类型分类如下:“0”为平衡节点,“1”为PQ,“2”为PV节点;“3”为PQ(V)节点,“4”为PI节点。

clc;

clear;

close all

Ploss_before=239;

V_before=[1.05000000000000;1.04539984601725;1.03826381242661;1.02656224417193;...

    1.01497413857938;0.986061941470649;0.980461558681093;0.972856430301411;...

    0.962880928647019;0.953612848625365;0.952264312724239;0.949911247256376;...

    0.940258149608386;0.936656329416138;0.934414308316597;0.932247854435629;...

    0.929012818991491;0.928050797399079;1.04459070499741;1.03910777072861;...

    1.03802728200737;1.03704915640893;1.03278914604802;1.02259101804636;...

    1.01750294074663;0.983041861628259;0.979024678756850;0.961078690739743;...

    0.948179211559331;0.942585582449513;0.936049346990836;0.934610825106120;0.934165000478165];

B2=[1 0 0 0 1.05 0;

    2 1 -0.01 -0.006 1 0;

    3 1 -0.009 -0.004 1 0;

    4 1 -0.012 -0.008 1 0;

    5 1 -0.006 -0.003 1 0;

    6 1 -0.006 -0.002 1 0;

    7 1 -0.02 -0.01 1 0;

    8 1 -0.02 -0.01 1 0;

    9 1 -0.006 -0.002 1 0;

    10 1 -0.006 -0.0035 1 0;

    11 1 -0.0045 -0.003 1 0;

    12 1 -0.006 -0.0035 1 0;

    13 1 -0.006 -0.0035 1 0;

    14 1 -0.012 -0.008 1 0;

    15 1 -0.006 -0.001 1 0;

    16 1 -0.006 -0.002 1 0;

    17 1 -0.006 -0.002 1 0;

    18 1 -0.009 -0.004 1 0;

    19 1 -0.009 -0.004 1 0;

    20 1 -0.009 -0.004 1 0;

    21 1 -0.009 -0.004 1 0;

    22 1 -0.009 -0.004 1 0;

    23 1 -0.009 -0.005 1 0;

    24 1 -0.042 -0.02 1 0;

    25 1 -0.042 -0.02 1 0;

    26 1 -0.006 -0.0025 1 0;

    27 1 -0.006 -0.0025 1 0;

    28 1 -0.006 -0.002 1 0;

    29 1 -0.012 -0.007 1 0;

    30 1 -0.02 -0.06 1 0;

    31 1 -0.015 -0.007 1 0;

    32 1 -0.021 -0.01 1 0;

    33 1 -0.006 -0.004 1 0];

%% 蒙特卡洛随机潮流计算样本规模

times=5e3;

%% 蒙特卡洛模拟采样随机变量样本

Pi=abs(B2(:,3));

Qi=abs(B2(:,4));

nPQi=length(Pi);

Nodenum=33;

% 负荷服从正态分布,变异系数ld_ero

ld_ero=0.05;

Pld_samp=zeros(Nodenum,times);

Qld_samp=zeros(Nodenum,times);

% 负荷有功、无功出力样本

for k=1:nPQi

    Pld_samp(k,:)=normrnd(Pi(k),Pi(k)*ld_ero,1,times);             

    Qld_samp(k,:)=normrnd(Qi(k),Qi(k)*ld_ero,1,times);

end

% 光伏有功服从Beta分布,单位功率因数

Ppv_samp=zeros(1,times);

% Beta分布的两个形状参数

a_pv=2.06;  %0.45

b_pv=2.5;  %9.18

% 光伏发电相关参数:组件总面积S_pv、光电转换率prey_pv、最大光强rmax(MW/m2)

S_pv=10000;

prey_pv=0.14;

rmax=0.8e-3;

% 光伏有功出力样本

pv_samp(1,:)=betarnd(a_pv,b_pv,1,times);

 Ppv_samp(1,:)=pv_samp(1,:)*rmax*S_pv*prey_pv*1000;

 % weibull分布的两个形状参数

k_wt=2.25;

c_wt=4.5;

wt_samp =wblrnd(c_wt,k_wt,1,times);

PN_wt=500;

    vci=3 ;

    vN=10.5;

    vco=22 ;

    for i=1:times

        if wt_samp(i)<vci

            Pwt_samp(i)=0;

        end

         if wt_samp(i)>vci&&wt_samp(i)<vN

            Pwt_samp(i)=(wt_samp(i)-vci)/(vN-wt_samp(i))*PN_wt;

            if   Pwt_samp(i)>PN_wt

                 Pwt_samp(i)=PN_wt;

            end

         end

         if wt_samp(i)>vN&&wt_samp(i)< vco

            Pwt_samp(i)=PN_wt;

         end

         if wt_samp(i)> vco

            Pwt_samp(i)=0;

         end

    end

    

    

   j=1; 

    for i=1:times

plot(centers, counts / sum(counts))%画直方图,x是各个区间中间值,y是对应的概率(区间数/总数量)

xlabel('光照强度');

ylabel('概率');

title('光照强度概率分布图')

[counts,centers] = hist(wt_samp , 100);%返回指定数据,特定间隔(如7)的各个分割区间的数量和中间值% 画频率分布直方图

figure(2)

plot(centers, counts / sum(counts))%画直方图,x是各个区间中间值,y是对应的概率(区间数/总数量)

 xlabel('风速');

ylabel('概率');

title('风速概率分布图')

  [counts,centers] = hist(Ploss, 100);%返回指定数据,特定间隔(如7)的各个分割区间的数量和中间值% 画频率分布直方图

figure(3)

plot(centers, counts / sum(counts))%画直方图,x是各个区间中间值,y是对应的概率(区间数/总数量)

 xlabel('网损');

ylabel('概率');

title('网损概率分布图')

flage=5;  %选取不同节点得到节点电压概率分布图

 V_flage=V_amp(:,flage);

  [counts,centers] = hist(V_flage, 100);%返回指定数据,特定间隔(如7)的各个分割区间的数量和中间值% 画频率分布直方图

figure(4)

plot(centers, counts / sum(counts))%画直方图,x是各个区间中间值,y是对应的概率(区间数/总数量)

 xlabel('电压幅值');

ylabel('概率');

title('电压幅值概率分布图')

% ymin=min( V_flage); 

% ymax=max( V_flage); 

% x=linspace(ymin,ymax,100); %将最大最小区间分成20个等分点(19等分),然后分别计算各个区间的个数

% yy=hist( V_flage,x); %计算各个区间的个数

% yy=yy/length( V_flage); %计算各个区间样本数所占总样本数的比例(概率)

% bar(x,yy) %画出概率密度分布图

% s=0; 

% for i=2:length(x) 

% s=[s,trapz(x([1:i]),yy([1:i]))]; % 使用trapz模拟积分 CDF

% end

% figure;

% plot(x,s,'*-')

flage=25;  %选取不同节点得到节点电压概率分布图

 V_flage=V_amp(:,flage);

  [counts,centers] = hist(V_flage, 100);%返回指定数据,特定间隔(如7)的各个分割区间的数量和中间值% 画频率分布直方图

figure(7)

plot(centers, counts / sum(counts))%画直方图,x是各个区间中间值,y是对应的概率(区间数/总数量)

 xlabel('电压幅值');

ylabel('概率');

title('电压幅值概率分布图')

 V_aver=mean(V_amp,1);  %均值

  Ploss_aver=mean(Ploss,2);

 d_v=std(V_amp,0,1);  %方差

  figure(5)

plot(V_before);

hold on

plot( V_aver);

legend('接入前','接入后')

xlabel('节点序号');

ylabel('电压幅值');

⛄ 运行结果

⛄ 参考文献

[1]徐劲松, 宁玉琳, 杨永锋. 基于Matlab的电力系统PQ分解法潮流计算研究[J]. 电气传动自动化, 2011, 33(2):9.

[2]郗忠梅, 李有安, 赵法起,等. 基于Matlab的电力系统潮流计算[J]. 山东农业大学学报:自然科学版, 2010(2):4.

⛄ Matlab代码关注

❤️部分理论引用网络文献,若有侵权联系博主删除

❤️ 关注我领取海量matlab电子书和数学建模资料

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

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

相关文章

threejs官方demo学习(1):animation

前言 之前的threejs入门视频教学已经学习完了&#xff0c;下面会陆续学习官方demo。官方网址太卡了建议在本地进行搭建&#xff0c;具体见&#xff1a;threejs视频教程学习&#xff08;1&#xff09;&#xff1a;本地搭建threeJS官网、渲染第一个场景 官方的例子都是html格式…

Qt源码编译aarch等架构可参考

前言&#xff1a; 我的建议是&#xff1a; 编译环境一定要有网络&#xff0c;依赖的包才可以方便安装&#xff01;&#xff01;&#xff01; 一、准备工作 有网但ping不通、或者没有源的 可能需要先配置: 源路径&#xff1a; /etc/apt/source.list 系统默认DNS配置: /etc/r…

iTOP3588开发板编译Android内核方法一

iTOP3588开发板编译Android内核方法一&#xff1a; 在 Android 源码目录下执行如下命令编译 Android 内核&#xff1a; ./build.sh -CKA 编译完成后如下图所示&#xff1a; 编译后会在 rockdev/Image-rk3588_s 目录下生成 boot.img&#xff0c;boot.img 为内核镜像。boot.i…

《操作系统实战 45 讲》系统环境搭建 (Ubuntu + Vmware)

系统环境搭建 1. Ubuntu下载2. Vmware安装 Ubuntu系统2.1 配置电脑2.2 安装系统&#xff08;Ubuntu16.04&#xff09;3、配置网络和修改yum源3.1. 编辑 VMware 的网络配置3.2 windows 的网络配置3 .3 虚拟机网络 IP 修改地址配置3.4 修改yum源3.5 安装vm-tools1. Ubuntu下载 清…

【泊车】基于强化学习实现智能泊车附matlab代码

✅作者简介&#xff1a;热爱科研的Matlab仿真开发者&#xff0c;修心和技术同步精进&#xff0c;matlab项目合作可私信。 &#x1f34e;个人主页&#xff1a;Matlab科研工作室 &#x1f34a;个人信条&#xff1a;格物致知。 更多Matlab仿真内容点击&#x1f447; 智能优化算法 …

仿照string类,实现自定义My_strng类,以及相关操作

代码 #include <iostream> #include <cstring>using namespace std;class My_string { private:char* cstr;int len; public:My_string():cstr(NULL),len(0) //无参构造{}My_string(const char* str) //有参构造{this->len strlen(s…

【C++笔试强训】第二天

选择题 1.使用printf函数打印一个double类型的数据&#xff0c;要求&#xff1a;输出为10进制&#xff0c;输出左对齐30个字符&#xff0c;4位精度。以下哪个选项是正确的&#xff1f; A %-30.4e B %4.30e C %-30.4f D %-4.30f 对于 %m.nf &#xff0c;double对应%f.要求打印…

爬虫之Scrapy架构

目录 Scrapy架构介绍 Scrapy下载 Scrapy基本使用 Scrapy目录结构 Scrapy解析数据 settings相关配置 基础配置 增加爬虫的爬取效率 去重规则&#xff08;布隆过滤器&#xff09; 持久化方案(数据保存) request和response传递参数 网页解析下一页继续爬取 爬虫和下载…

Java安全之深入了解SQL注入

深入了解Java中的SQL注入 本文以代码实例复现了Java中JDBC及Mybatis框架采用预编译和非预编译时可能存在SQL注入的几种情况&#xff0c;并给予修复建议。 JDBC 首先看第一段代码&#xff0c;使用了远古时期的JDBC并且并没有使用预编译。这种简单的字符串拼接就存在SQL注入 …

信息化带来的制造业生产管理系统究竟有哪些作用呢?

制造业是一个现代国家的经济基础&#xff0c;决定着着国家的兴衰存亡。长期以来人们和国家都对制造业给予高度重视&#xff0c;无论是资金投入还是管理的手段和方法的提高&#xff0c;制造业在生产行业中的优势越来越明显。尤其是随着科学技术的快速发展&#xff0c;制造业的现…

uniapp easycom

easycom 是 uniapp 的一种组件自动引入的规则&#xff0c;使用这种规则可以使满足规则的组件无需注册直接使用。 接下来我们来看一眼效果 这里可以看到我并没有进行组件注册而是直接使用了组件&#xff0c;这样的效果就是通过 easycom 的自定义规则来实现的。 来看一眼我的自…

庐山真面目之——LWIP初探

目录 LWIP简介 网络层协议分层模型介绍 LWIP源代码结构 lwip源码文件说明 lwip的contrib包文件说明 以太网接入MCU方案 LWIP结构框图 LWIP简介 lwIP 是 Light Weight&#xff08;轻型&#xff09;IP 协议&#xff0c;有无操作系统的支持都可以运行。lwIP 实现的重点 是在保…

Android Studio compose的简单使用与案例实现

Compose是Android团队与JetBrain大力推动的新一代UI框架&#xff0c;它能够简化安卓界面的开发&#xff0c;让本来繁琐的xml文件写法变为简便的kt文件写法。 其声明式 UI、更简单的自定义、实时且带交互的预览功能更是让安卓开发锦上添花 android compose框架的使用一.前置知识…

vue+elementUI 使用腾讯地图

效果如下 引入地图qqmap 刚开始我是直接用 npm install qqmap&#xff0c;但是好像只有v1版本的&#xff0c;我需要用v2版本的&#xff0c;所以直接使用script标签加载API服务。 文件&#xff1a;/public/index.html <script charset"utf-8" src"https:…

2023最新SSM计算机毕业设计选题大全(附源码+LW)之java双笙映画ou5oj

毕业设计也不需要做多高端的程序&#xff0c;毕业设计对于大多数同学来说&#xff0c;为什么感觉到难&#xff0c;最重要的一个原因&#xff0c;那就是理论课到实践课的转变&#xff0c;很多人一下不适应&#xff0c;本能开始拒绝&#xff0c;如果是一个考试&#xff0c;大家都…

spring boot基于Java的电影院售票与管理系统毕业设计源码011449

电影院售票与管理系统的设计与实现 摘 要 信息化社会内需要与之针对性的信息获取途径&#xff0c;但是途径的扩展基本上为人们所努力的方向&#xff0c;由于站在的角度存在偏差&#xff0c;人们经常能够获得不同类型信息&#xff0c;这也是技术最为难以攻克的课题。针对电影院售…

SpringBoot —— 整合RabbitMQ常见问题及解决方案

前言 企业中最常用的消息中间件既不是RocketMQ&#xff0c;也不是Kafka&#xff0c;而是RabbitMQ。 RocketMQ很强大&#xff0c;但主要是阿里推广自己的云产品而开源出来的一款消息队列&#xff0c;其实中小企业用RocketMQ的没有想象中那么多。 至于Kafka&#xff0c;主要还是…

常见的推荐算法原理介绍

常见的推荐算法原理介绍&#xff0c;随着互联网的发展短视频运营越来越精准化&#xff0c;我们身边常见的抖音、火山小视频等软件让你刷的停不下来&#xff0c;这些软件会根据你的浏览行为推荐你感兴趣的相关内容&#xff0c;这就用到了很多推荐算法在里面。 在淘宝购物&#…

Linux 负载均衡介绍之LVS工作模式-DR直接路由模式

Linux 负载均衡介绍之LVS工作模式-DR直接路由模式 图示&#xff1a; 工作原理&#xff1a; ①.客户端将请求发往前端的负载均衡器&#xff0c;请求报文源地址是CIP&#xff0c;目标地址为VIP。 ②.负载均衡器收到报文后&#xff0c;发现请求的是在规则里面存在的地址&#x…

[Java反序列化]—Shiro反序列化(二)

0x01 这篇利用CC链来进行RCE 利用分析 在shiro-web 中加上CC依赖 <dependency><groupId>commons-collections</groupId><artifactId>commons-collections</artifactId><version>3.2.1</version><scope>compile</scope>…