目录
[1 主要内容](#1 主要内容)
[2 部分代码](#2 部分代码)
[3 程序结果](#3 程序结果)
[4 下载链接](#4 下载链接)
1 主要内容
该程序为matlab代码,采用统一求解法对交直流混合配电网进行潮流计算,统一迭代法又称统一求解法,其思路是将混联系统中的交流网络方程与直流 网络方程进行联立,对联立后的方程组进行各未知量的求解,目前已有众多学者 在对交直流混合配电网的研究中,证明了这一方法具备较好的收敛性。该代码有非常详实的文献资料,方便对照研究学习!
算例模型
统一求解法迭代方程
算法流程图
2 部分代码
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:line
a=Line.con(m,1);%首节点a
b=Line.con(m,2);%末节点b
z=Line.con(m,8)+1i*Line.con(m,9);%节点ab间的阻抗
y2=1i*Line.con(m,10)/2;%导纳/2
if real(z)==0
k=Line.con(m,7)*Bus.con(b,2)/Bus.con(a,2);%变比K
else
k=1;
end
Y(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方程个数