目录
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方程个数