Matlab|交直流混合配电网潮流计算(统一求解法)

2024-04-27 02:28

本文主要是介绍Matlab|交直流混合配电网潮流计算(统一求解法),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

目录

1 主要内容

算例模型

统一求解法迭代方程

算法流程图

2 部分代码

3 程序结果

4 下载链接


主要内容

该程序为matlab代码,采用统一求解法对交直流混合配电网进行潮流计算,统一迭代法又称统一求解法,其思路是将混联系统中的交流网络方程与直流 网络方程进行联立,对联立后的方程组进行各未知量的求解,目前已有众多学者 在对交直流混合配电网的研究中,证明了这一方法具备较好的收敛性。该代码有非常详实的文献资料,方便对照研究学习!

  • 算例模型

  • 统一求解法迭代方程

  • 算法流程图

部分代码

kk=1;%迭代次数
​
line=size(Line.con,1);%支路数目
​
n=max(Bus.con(:,1));%找出第1列的最大值,即节点数
​
T=0.00001;
TT=ones(n,1)*T;%收敛误差设置
​
Y=zeros(n);%创建导纳矩阵Y
U=ones(n,1);
dU=zeros(n,1);
U(PV.con(:,1))=PV.con(:,5);%提取PV节点的电压幅值
U(SW.con(:,1))=SW.con(:,4);%提取平衡节点的电压幅值
th=zeros(n,1);
dth=zeros(n,1);
Pg=zeros(n,1);
Pl=zeros(n,1);
Ql=zeros(n,1);
Qg=zeros(n,1);
Pg(PV.con(:,1))=PV.con(:,4);%提取PV节点的有功功率
Pl(PQ.con(:,1))=PQ.con(:,4);%提取PQ节点的有功功率
Ql(PQ.con(:,1))=PQ.con(:,5);%提取PQ节点的无功功率
% 计算导纳矩阵
for m=1:linea=Line.con(m,1);%首节点ab=Line.con(m,2);%末节点bz=Line.con(m,8)+1i*Line.con(m,9);%节点ab间的阻抗y2=1i*Line.con(m,10)/2;%导纳/2if real(z)==0k=Line.con(m,7)*Bus.con(b,2)/Bus.con(a,2);%变比Kelsek=1;endY(a,b)=-1/k/z;%ab间互导纳Y(b,a)=Y(a,b);Y(a,a)=Y(a,a)+y2+(k-1)/(k*z)+1/k/z;%求自导纳Y(b,b)=Y(b,b)+y2+(1-k)/k^2/z+1/k/z;
%     C(a)=data(m,7);%输入节点a,b的补偿电容导纳
%     C(b)=data(m,8);
end%将节点导纳的实虚部分开
B=imag(Y);
G=real(Y);
disp('节点导纳矩阵:')
disp(Y);
​
%判断PQ、PV、平衡节点的个数
PQn=size(PQ.con,1);
PVn=size(PV.con,1);
SWn=size(SW.con,1);
​
DCn=Hvdc.con(:,[1 2])';%直流节点编号%取出Hvdc.con第1,2列元素赋值给DCn
ACn=setdiff(1:n,union(DCn,SW.con(1,1)))';%除去1,7,8后排序
Ndc=size(DCn,1);%直流节点个数
Nac=size(ACn,1);%交流节点个数
pn=setdiff(1:n,SW.con(1,1))';
qn=setdiff(pn,PV.con(:,1));
Pn=intersect(ACn, pn);%交流节点P方程节点
Qn=intersect(ACn, qn);%交流节点Q方程节点
p=size(Pn,1);   %交流节点P方程个数
q=size(Qn,1);   %交流节点Q方程个数

程序结果

4 下载链接

这篇关于Matlab|交直流混合配电网潮流计算(统一求解法)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/939296

相关文章

poj 1113 凸包+简单几何计算

题意: 给N个平面上的点,现在要在离点外L米处建城墙,使得城墙把所有点都包含进去且城墙的长度最短。 解析: 韬哥出的某次训练赛上A出的第一道计算几何,算是大水题吧。 用convexhull算法把凸包求出来,然后加加减减就A了。 计算见下图: 好久没玩画图了啊好开心。 代码: #include <iostream>#include <cstdio>#inclu

uva 1342 欧拉定理(计算几何模板)

题意: 给几个点,把这几个点用直线连起来,求这些直线把平面分成了几个。 解析: 欧拉定理: 顶点数 + 面数 - 边数= 2。 代码: #include <iostream>#include <cstdio>#include <cstdlib>#include <algorithm>#include <cstring>#include <cmath>#inc

uva 11178 计算集合模板题

题意: 求三角形行三个角三等分点射线交出的内三角形坐标。 代码: #include <iostream>#include <cstdio>#include <cstdlib>#include <algorithm>#include <cstring>#include <cmath>#include <stack>#include <vector>#include <

XTU 1237 计算几何

题面: Magic Triangle Problem Description: Huangriq is a respectful acmer in ACM team of XTU because he brought the best place in regional contest in history of XTU. Huangriq works in a big compa

音视频入门基础:WAV专题(10)——FFmpeg源码中计算WAV音频文件每个packet的pts、dts的实现

一、引言 从文章《音视频入门基础:WAV专题(6)——通过FFprobe显示WAV音频文件每个数据包的信息》中我们可以知道,通过FFprobe命令可以打印WAV音频文件每个packet(也称为数据包或多媒体包)的信息,这些信息包含该packet的pts、dts: 打印出来的“pts”实际是AVPacket结构体中的成员变量pts,是以AVStream->time_base为单位的显

matlab读取NC文件(含group)

matlab读取NC文件(含group): NC文件数据结构: 代码: % 打开 NetCDF 文件filename = 'your_file.nc'; % 替换为你的文件名% 使用 netcdf.open 函数打开文件ncid = netcdf.open(filename, 'NC_NOWRITE');% 查看文件中的组% 假设我们想读取名为 "group1" 的组groupName

利用matlab bar函数绘制较为复杂的柱状图,并在图中进行适当标注

示例代码和结果如下:小疑问:如何自动选择合适的坐标位置对柱状图的数值大小进行标注?😂 clear; close all;x = 1:3;aa=[28.6321521955954 26.2453660695847 21.69102348512086.93747104431360 6.25442246899816 3.342835958564245.51365061796319 4.87

计算数组的斜率,偏移,R2

模拟Excel中的R2的计算。         public bool fnCheckRear_R2(List<double[]> lRear, int iMinRear, int iMaxRear, ref double dR2)         {             bool bResult = true;             int n = 0;             dou

C# double[] 和Matlab数组MWArray[]转换

C# double[] 转换成MWArray[], 直接赋值就行             MWNumericArray[] ma = new MWNumericArray[4];             double[] dT = new double[] { 0 };             double[] dT1 = new double[] { 0,2 };

华为OD机试真题-学生方阵-2024年OD统一考试(E卷)

题目描述 学校组织活动,将学生排成一个矩形方阵。 请在矩形方阵中找到最大的位置相连的男生数量。这个相连位置在一个直线上,方向可以是水平的,垂直的,成对角线的或者呈反对角线的。 注:学生个数不会超过10000 输入描述 输入的第一行为矩阵的行数和列数, 接下来的 n行为矩阵元素,元素间用""分隔。 输出描述 输出一个整数,表示矩阵中最长的位