目录
1 主要内容
2 部分代码
3 程序结果
4 下载链接
1 主要内容
该部分资料是牛拉法和PQ分解法两种潮流计算方法的代码和对应的资料,程序针对5节点系统,也可以自行修改节点和线路参数改成其他节点系统,程序通用性较强,注释清晰,方便学习。
2 部分代码
n=5;                      %输入节点数
nl=5;                     %输入支路数
isb=1;                    %输入平衡母线节点号  
pr=0.00001;               %输入误差精度
B1=[1 2 0.03i 0 1.05 0;2 3 0.08+0.3i 0.5i 1 0;2 4 0.1+0.35i 0 1 0;3 4 0.04+0.25i 0.5i 1 0;3 5 0.015i 0 1.05 1];           %输入由支路参数形成的矩阵
B2=[0 0 1.05 1.05 0 1;0 3.7+1.3i 1.05 0 0 2;0 2+1i 1.05 0 0 2;0 1.6+0.8i 1.05 0 0 2;5 0 1.05 1.05 0 3];                      %输入由节点参数形成的矩阵
X=[1 0;2 0;3 0;4 0;5 0];     %输入由节点号及其对地阻抗形成的矩阵
Y=zeros(n);e=zeros(1,n);f=zeros(1,n);V=zeros(1,n);O=zeros(1,n);S1=zeros(nl);O1=zeros(1,n);
%形成导纳矩阵
for i=1:n
    if X(i,2)~=0                    %判断节点对地是否存在阻抗
        p=X(i,1);                   %如果该节点对地存在阻抗,则将该节点编号赋值给p
        Y(p,p)=Y(p,p)+1./X(i,2);      %计算对地阻抗对于节点自阻抗的影响
    end
end
for i=1:nl
    if B1(i,6)==0                   %判断该支路参数是否已折算到变压器高压侧
        p=B1(i,1);q=B1(i,2);         %如果该支路参数是否已折算到变压器高压侧,则将B1矩阵第一列元素赋值给p,将B2矩阵第二列元素赋值给q 
    else
        p=B1(i,2);q=B1(i,1);        %如果该支路参数是否已折算到变压器高压侧,则将B1矩阵第一列元素赋值给q,将B2矩阵第二列元素赋值给p
    end
    Y(p,q)=Y(p,q)-1./(B1(i,3)*B1(i,5));     %计算节点间互导纳
    Y(q,p)=Y(p,q);                          %由于节点导纳矩阵为对称矩阵,因此Y(q,p)=Y(p,q)
    Y(q,q)=Y(q,q)+1./(B1(i,3)*B1(i,5)^2)+B1(i,4)./2;   %计算q节点自导纳
    Y(p,p)=Y(p,p)+1./B1(i,3)+B1(i,4)./2;             %计算p节点自导纳
end
%形成新的导纳矩阵(将PQ,PV和平衡节点进行分类)
node_sign=zeros(1,n);                    %记录新的导纳矩阵节点编号
PQ_count=0;                           %初始化PQ节点计数器
PV_count=0;                           %初始化PV节点计数器
for i=1:n
    if B2(i,6)==1                        %寻找平衡节点
        node_sign(1,n)=i;                %记录该PQ节点编号并将其放置到新的导纳矩阵节点编号矩阵最后一列
    end
    if B2(i,6)==2                        %寻找PQ节点
        PQ_count=PQ_count+1;           %PQ节点个数加1
        node_sign(1,PQ_count)=i;         %记录该PQ节点编号
    end
end
 
3 程序结果
牛拉法


PQ分解法


4 下载链接
点击直达!


















