电力系统分析课程设计报告

山东交通学院

电力系统分析课程设计

报告书

院(部)别   信息科学与电气工程学院              

班    级                               

学    号                           

姓    名                                 

指导教师                               

时    间    2013.06.10-2013.06.16               

课 程 设 计 任 务 书

        电力系统分析课程设计         

        信息科学与电气工程学院          

        电气工程及其自动化               

                               

学生姓名                                   

                                       

  6    10  日至  6    16     1  

指导教师(签字)             

    (签字)             

                     

复杂网络N-R法潮流分析与计算的设计

电力系统的潮流计算是电力系统分析课程基本计算的核心部分之一。它既有自身的独立意义,又有电力系统规划设计、运行和研究的理论基础,因此课程设计的重要性自不待言。

一、设计题目

1.系统图的确定

选择六节点、环网、两电源和多引出的电力系统,简化电力系统图如图1所示,等值阻抗图如图2所示。运用以直角坐标表示的牛顿-拉夫逊计算如图1所示系统中的潮流分布。计算精度要求各节点电压的误差或修正量不大于。                                                                

图1   电力系统图

图2  电力系统等值阻抗图

2.各节点的初值及阻抗参数

该系统中,节点①为平衡节点,保持=1.05+j0为定值,节点⑥为PV节点,其他四个节点都是PQ节点。给定的注入电压标幺值、线路阻抗标幺值、线路阻抗标幺值、输出功率标幺值和变压器变比标幺值如图2所示的注释。

表1                       各节点电压标幺值参数

表2                       线路、变压器阻抗标幺值

表3                       节点输出功率

注:各PQ节点的电压取1是为了方便计算和最后验证程序的正确性。

二、N-R法的求解过程

1、给定个节点电压初始值

2、将以上电压初始值代入下式(1)式,求出修正方程式常数项向量                                                                                        

3、将电压初始值代入下式(2)式,求出修正方程式中系数矩阵(雅可比矩阵)的个元素(为2(n-1)阶方阵)。

4、解修正方程式,求出修正量

方法:①高斯消元法,即将雅可比矩阵化简为上三角阵或下三角阵

②求雅可比矩阵的逆矩阵

5、修正各节点电压

6、将再代入(1)式,求出

7、校验是否收敛,其收敛条件为式中,为向量中大分量的绝对值。这个收敛条件比较直观,它可以直接显示出最终结果的功率误差

8、如果收敛,就进一步计算各段电力线路潮流和平衡节点功率,并打印出计算结果;如果不收敛,转回3步进行下一次迭代计算,直到收敛为止。

三、手算潮流计算

用图1和图2的数据和等值网络形成节点导纳矩阵

1. 节点导纳矩阵

 由图1可知,该系统以串联支路的阻抗标幺值和对地并联导纳标幺值得等值电路如图2所示。以图2可得相应的节点导纳矩阵。

对角线上的元素为:

非对角线上的元素为:

所以导纳矩阵为

 2.计算各节点功率的修正方程的初始值(不平衡量)

 设各节点电压初始值为:

根据上述N-R法的求解过程,将各节点电压的初始值代入(1)式和(2)式,进行潮流计算。

四、计算机算法潮流计算

导纳矩阵 Y=

0 -30.2343i    0 +31.7460i          0                0        0                 0         

0 +31.7460i  14.8252 -42.6506i  -14.2012 + 5.9172i      0     -0.6240 + 3.9002i        0           0      -14.2012+5.9172i  15.0311-8.5292i  -0.8299+3.1120i      0             0         

0       0       -0.8299 + 3.1120i   1.5846 - 5.5035i   -0.7547 + 2.6415i        0         

0      -0.6240 + 3.9002i    0    -0.7547 + 2.6415i   1.3787 -72.9583i        0 +63.4921i

0      0          0            0               0 +63.4921i        0 -60.4686i

功率方程第(1)次差值:

  Columns 1 through 11

         0         0    4.2619   -2.1000    0.1000   -1.8000   -0.5500   -1.6000    8.4738   -3.7000         0

  Column 12

    5.0000

  Columns 12 through 13

         0         0

         0         0

         0    4.2619

         0   -2.1000

         0    0.1000

         0   -1.8000

         0   -0.5500

         0   -1.6000

         0    8.4738

   63.4921   -3.7000

         0         0

  -63.4921    5.0000

  Columns 12 through 13

         0         0

         0         0

         0   -0.1140

         0    0.0705

         0   -0.1659

         0    0.1184

         0    0.0717

         0    0.3118

         0   -0.1439

   -0.7856    0.0636

         0         0

    1.0000   -0.0431

Jacobi矩阵第(1)次回代运算

  Columns 1 through 11

         0         0   -0.1490    0.1103   -0.0024    0.1657    0.1015    0.3342   -0.1435    0.0297         0

  Column 12

   -0.0431

各个节点电压模

         0    1.1543    1.0160    0.9586    1.1439    1.2008

功率方程第(2)次差值:

  Columns 1 through 11

         0         0   -0.9196   -0.3298   -0.2847   -0.0127   -0.5652    0.0384   -1.5185    0.1960   -0.0019

  Column 12

   -0.3928

  Columns 12 through 13

         0         0

         0         0

         0   -0.9196

         0   -0.3298

         0   -0.2847

         0   -0.0127

         0   -0.5652

         0    0.0384

   -1.8854   -1.5185

   72.6032    0.1960

   -0.0862   -0.0019

  -72.6032   -0.3928

  Columns 12 through 13

         0         0

         0         0

         0    0.0195

         0   -0.0011

         0    0.0425

         0   -0.0053

         0    0.2265

         0   -0.0488

    0.0235    0.0271

   -0.8949   -0.0013

    0.0359    0.0008

    1.0000    0.048

各个节点电压模

         0    1.1120    0.9435    0.7821    1.1170    1.2010

功率方程第(3)次差值:

  Columns 1 through 11

         0         0   -0.0417    0.0017   -0.0185   -0.0126   -0.1340   -0.0217   -0.0367    0.0646   -0.0024

  Column 12

   -0.0916

  Columns 12 through 13

         0         0

         0         0

         0   -0.0417

         0    0.0017

         0   -0.0185

         0   -0.0126

         0   -0.1340

         0   -0.0217

   -4.5677   -0.0367

   70.7751    0.0646

    0.0111   -0.0024

  -70.7751   -0.0916

  Columns 12 through 13

         0         0

         0         0

         0    0.0009

         0   -0.0004

         0    0.0034

         0   -0.0004

         0    0.1046

         0   -0.0114

    0.0608    0.0036

   -0.8742   -0.0002

   -0.0046    0.0010

    1.0000    0.0181

Jacobi矩阵第(3)次回代运算

  Columns 1 through 11

         0         0    0.0078    0.0043    0.0191   -0.0063    0.0768   -0.0055    0.0056    0.0156    0.0011

  Column 12

    0.0181

各个节点电压模

         0    1.1048    0.9237    0.7098    1.1126    1.2001

功率方程第(4)次差值:

  Columns 1 through 11

         0         0   -0.0004    0.0002   -0.0002   -0.0012   -0.0276   -0.0058    0.0006    0.0016   -0.0003

  Column 12

   -0.0053

  Columns 12 through 13

         0         0

         0         0

         0   -0.0004

         0    0.0002

         0   -0.0002

         0   -0.0012

         0   -0.0276

         0   -0.0058

   -5.5608    0.0006

   70.4222    0.0016

    0.0473   -0.0003

  -70.4222   -0.0053

  Columns 12 through 13

         0         0

         0         0

         0    0.0000

         0   -0.0000

         0    0.0000

         0    0.0000

         0    0.0450

         0   -0.0033

    0.0767    0.0010

   -0.8712    0.0002

   -0.0197    0.0001

    1.0000    0.0053

Jacobi矩阵第(4)次回代运算

  Columns 1 through 11

         0         0    0.0021    0.0014    0.0056   -0.0020    0.0259   -0.0018    0.0016    0.0048    0.0002

  Column 12

    0.0053

各个节点电压模

         0    1.1029    0.9178    0.6857    1.1114    1.2000

功率方程第(5)次差值:

  Columns 1 through 11

         0         0   -0.0000    0.0000    0.0000   -0.0001   -0.0032   -0.0007   -0.0000    0.0001   -0.0000

  Column 12

   -0.0005

  Columns 12 through 13

         0         0

         0         0

         0   -0.0000

         0    0.0000

         0    0.0000

         0   -0.0001

         0   -0.0032

         0   -0.0007

   -5.8687   -0.0000

   70.3226    0.0001

    0.0580   -0.0000

  -70.3226   -0.0005

  Columns 12 through 13

         0         0

         0         0

         0    0.0000

         0   -0.0000

         0   -0.0000

         0    0.0000

         0    0.0087

         0   -0.0005

    0.0829    0.0002

   -0.8703    0.0000

   -0.0242    0.0000

    1.0000    0.0008

Jacobi矩阵第(5)次回代运算

  Columns 1 through 11

         0         0    0.0003    0.0002    0.0008   -0.0003    0.0039   -0.0003    0.0002    0.0007    0.0000

  Column 12

    0.0008

各个节点电压模

         0    1.1026    0.9169    0.6820    1.1113    1.2000

功率方程第(6)次差值:

  1.0e-004 *

  Column 12

   -0.1036

  Columns 12 through 13

         0         0

         0         0

         0   -0.0000

         0    0.0000

         0    0.0000

         0   -0.0000

         0   -0.0001

         0   -0.0000

   -5.9148   -0.0000

   70.3078    0.0000

    0.0596   -0.0000

  -70.3078   -0.0000

  Columns 12 through 13

         0         0

         0         0

         0    0.0000

         0   -0.0000

         0   -0.0000

         0    0.0000

         0    0.0002

         0   -0.0000

    0.0839    0.0000

   -0.8702    0.0000

   -0.0248    0.0000

    1.0000    0.0000

Jacobi矩阵第(6)次回代运算

  1.0e-004 *

  Columns 1 through 11

         0         0    0.0764    0.0496    0.2048   -0.0728    0.9503   -0.0641    0.0564    0.1753    0.0074

  Column 12

    0.1923

各个节点电压模

         0    1.1026    0.9169    0.6819    1.1113    1.2000

功率方程第(7)次差值:

  1.0e-007 *

  Columns 1 through 11

         0         0   -0.0015    0.0004    0.0019   -0.0106   -0.4343   -0.0965   -0.0010    0.0108   -0.0037

  Column 12

   -0.0606

迭代次数:

     6

没有达到精度要求的个数:

     9    10    10    10     8     3     0

各节点的电压复数值E为(节点号从小到大排列):

   1.2000             1.0947 - 0.1316i   0.9068 - 0.1361i   0.6128 - 0.2991i   1.1073 - 0.0932i   1.1996 - 0.0298i

-----------------------------------------------------

各节点的电压模值大小V为(节点号从小到大排列):

    1.2000    1.1026    0.9169    0.6819    1.1113    1.2000

-----------------------------------------------------

各节点的电压相角sida为(节点号从小到大排列):

         0   -6.8549   -8.5347  -26.0187   -4.8097   -1.4241

各节点的功率S为(节点号从小到大排列):

   5.0135 + 1.8332i  -2.1000 - 1.0000i  -1.8000 - 0.4000i  -1.6000 - 0.8000i  -3.7000 - 1.3000i   5.0000 + 2.5555i

-----------------------------------------------------

各条支路的首端功率Si为(顺序同您输入B1时一致):

S(1,2)=5.0135+1.8332i

-----------------------------------------------------

S(2,3)=3.0895+0.48941i

-----------------------------------------------------

S(2,5)=-0.176-0.31075i

-----------------------------------------------------

S(3,4)=0.78738+0.39432i

-----------------------------------------------------

S(4,5)=-0.90639-0.43087i

-----------------------------------------------------

S(6,5)=5+2.5555i

-----------------------------------------------------

各条支路的末端功率Sj为(顺序同您输入B1时一致):

S(2,1)=-5.0135-1.1787i

-----------------------------------------------------

S(3,2)=-2.5874-0.79432i

-----------------------------------------------------

S(5,2)=0.17703-0.29553i

-----------------------------------------------------

S(4,3)=-0.69361-0.36913i

-----------------------------------------------------

S(5,4)=1.123+1.1889i

-----------------------------------------------------

S(5,6)=-5-2.1934i

-----------------------------------------------------

各条支路的功率损耗DS为(顺序同您输入B1时一致):

DS(1,2)=-8.8818e-016+0.65451i

-----------------------------------------------------

DS(2,3)=0.50212-0.3049i

-----------------------------------------------------

DS(2,5)=0.0010207-0.60628i

-----------------------------------------------------

DS(3,4)=0.093766+0.025185i

-----------------------------------------------------

DS(4,5)=0.21659+0.75805i

-----------------------------------------------------

DS(6,5)=0+0.36211i

-----------------------------------------------------

总网损S=0.8135+0.88867i

总结

此次课程设计首先让我明白了使电力系统稳定的运行,必须经过精密的设计和运算。在进行此次课程设计的过程中,加深了我对潮流计算的认识,尤其是对牛顿拉夫逊潮流计算的求解思路有了比较透彻的理解。同时由于求解过程中用到求节点导纳矩阵,求矩阵的逆阵等等,又使我对以前学过的知识有了一次很好的复习,同时也看到了研究性学习的效果,从研究中去学习,理论结合实际,将理论运用到实际,同时在实践中发现问题,然后解决问题。

而且在此次课程设计中,我发现了自己的基础只是有很多的不足。这些基础的缺乏给我的设计造成了不小的障碍。在这个过程中,我明白了,只要用心去做,认真去做,持之以恒,就会有新的发现,有以外的收获。

传统的手工计算工作量大,易出错,潮流计算费时费力,目前,计算机已成为潮流计算的重要工具。利用牛顿—拉夫逊法,采用Matlab语言进行潮流计算,提高了准确性,使用方便,已得到成功应用。在此,感谢老师对我们的悉心指导,才让我们在规定时间内完成任务,谢谢老师!

参考文献

《电力系统分析(第三版)》 于永源主编,中国电力出版社,20##年

《电力系统分析》,何仰赞 温增银编著,华中科技大学出版社,20##年版;

《电力系统分析》,韩桢祥主编,浙江大学出版社,20##年版;

《电力系统稳态分析》,陈珩 编,水利电力出版社。

附录:

To get started, select MATLAB Help or Demos from the Help menu.

The element type "name" must be terminated by the matching end-tag "</name>".

Could not parse the file: c:\matlab7\toolbox\ccslink\ccslink\info.xml

>> %本程序的功能是用牛顿——拉夫逊法进行潮流计算

% B1矩阵:1、支路首端号;   2、末端号;   3、支路阻抗;   4、线路对地电纳 (或变压器导纳);

%             5、支路的变比;   6、支路首端处于K侧为1,1侧为0;

%          7、线路/变压器标识(0/1)变压器参数当支路首端处于K侧标识为1时归算至末端侧,0归算至首端侧

% B2矩阵:1、该节点发电机功率;      2、该节点负荷功率;

%         3、PQ节点电压初始值,或平衡节点及PV节点电压的给定值

%         4、节点所接无功补偿并联电容(感)的电纳

%         5、节点分类标号:1为平衡节点(应为1号节点);2为PQ节点;3为PV节点;

clear;

isb=1;      %input('请输入平衡母线节点号:isb=');

pr=0.00001;    %input('请输入误差精度:pr=');

%---------------------------------------------------

n=6;%input('请输入节点数:n=');

nl=6;%input('请输入支路数:nl=');

B1=[1 2    0+0.03i      0        1.05     1 1;

    2 3    0.06+0.025i  0+0.5i   1        0 0;

    2 5    0.04+0.25i   0+0.5i   1        0 0;

    3 4    0.08+0.30i   0+0.5i   1        0 0;

    4 5    0.1+0.35i    0        1        0 0;

    6 5    0+0.015i     0        1.05     1 1]

B2=[0     0        1.20      0   1;

   0   2.1+1i      1.00      0   2;

   0   1.8+0.40i   1.00      0   2;

   0   1.6+0.8i    1.00      0   2;

   0   3.7+1.3i    1.00      0   2;

   0   -5+0i       1.20      0   3]

%input('请输入各节点参数形成的矩阵: B2=');

%X=[1 0;2 0;3 0;4 0;5 0;6 0]

%-------------------------------------------------------------

%n=4;%input('请输入节点数:n=');nl=4;%input('请输入支路数:nl=');

%B1=[1 2 4+16i 0 1 0 0;1 3 4+16i 0 1 0 0;2 3 2+8i 0 1 0 0;2 4 1.49+48.02i 0 11/110 0 1] %input('请输入由支路参数形成的矩阵: B1=');

%B2=[0 0 115 0 1;0 0 110 0 2;0 20+4i 110 0 2;0 10+6i 10 0 2] %input('请输入各节点参数形成的矩阵: B2=');

%-------------------------------------------------------------

Y=zeros(n);e=zeros(1,n);f=zeros(1,n);V=zeros(1,n);sida=zeros(1,n);S1=zeros(nl);

% % %-----------求导纳矩阵------------------------

%for i=1:n

   % if X(i,2)~=0;

      %  p=X(i,1);

       % Y(p,p)=1/X(i,2);

    %end

%end

for i=1:nl                                                  %从1到n1(总支路数)

       if B1(i,7)==1        %-----------如果是变压器支路--------

           if B1(i,6)==0                                     %左节点(首端)处于1侧

                p=B1(i,1);q=B1(i,2);

           else                                %左节点(首端)处于K侧

                p=B1(i,2);q=B1(i,1);

           end

           Y(p,q)=Y(p,q)-1./(B1(i,3)*B1(i,5));    %非对角元

           Y(q,p)=Y(p,q);                      %非对角元

            Y(q,q)=Y(q,q)+1./(B1(i,3)*B1(i,5)^2);       %对角元K侧

           Y(p,p)=Y(p,p)+1./B1(i,3)+B1(i,4);             %对角元1侧+励磁导纳

       else        %------------否则为线路支路--------------------

              p=B1(i,1);q=B1(i,2);

              Y(p,q)=Y(p,q)-1./B1(i,3);     %非对角元

           Y(q,p)=Y(p,q);              %非对角元

            Y(q,q)=Y(q,q)+1./B1(i,3)+B1(i,4)./2.0000; %对角元j侧+线路电纳的一半

           Y(p,p)=Y(p,p)+1./B1(i,3)+B1(i,4)./2.0000; %对角元i侧+线路电纳的一半

       end

end

disp('导纳矩阵 Y=');disp(Y);

%-----------给定各节点初始电压及给定各节点注入功率--------------------------

G=real(Y);B=imag(Y);                %分解出导纳阵的实部和虚部 

for i=1:n                                    %给定各节点初始电压的实部和虚部   

    e(i)=real(B2(i,3));

    f(i)=imag(B2(i,3));

    V(i)=abs(B2(i,3));                       %PV、平衡节点及PQ节点电压模值

end

for i=1:n                                    %给定各节点注入功率   

    S(i)=B2(i,1)-B2(i,2);           %i节点注入功率SG-SL 

    B(i,i)=B(i,i)+B2(i,4);           %i节点无功补偿量(电纳值)

end

%==================用牛顿-拉夫逊法迭代求解非线性代数方程(功率方程)=======================

P=real(S);Q=imag(S);            %分解出各节点注入的有功和无功功率

ICT1=0;IT2=1;N0=2*n;N1=N0+1;a=0; %迭代次数ICT1、a;不满足收敛要求的节点数IT2

while IT2~=0                   % N0=2*n 雅可比矩阵的阶数;N1=N0+1扩展列

      IT2=0;a=a+1;

      JZ=['Jacobi矩阵第(',num2str(a),')次消去运算'];JZ1=['Jacobi矩阵第(',num2str(a),')次回代运算'];JZ0=['功率方程第(',num2str(a),')次差值:'];

    %----------------求取各个节点的功率及功率偏差及PV节点的电压偏差--------------------

    for i=1:n                 %n个节点2n行(每节点两个方程P和Q或U)

        p=2*i-1;m=p+1;C(i)=0;D(i)=0;

        for j1=1:n         %第i行共n列(n个节点间互导纳及节点电压相乘即电流)

            C(i)=C(i)+G(i,j1)*e(j1)-B(i,j1)*f(j1);%Σ(Gij*ej-Bij*fj)

            D(i)=D(i)+G(i,j1)*f(j1)+B(i,j1)*e(j1);%Σ(Gij*fj+Bij*ej)

        end

             %求i节点有功和无功功率P',Q'的计算值

        P1=C(i)*e(i)+f(i)*D(i);%节点功率P计算eiΣ(Gij*ej-Bij*fj)+fiΣ(Gij*fj+Bij*ej)

        Q1=C(i)*f(i)-e(i)*D(i);%节点功率Q计算fiΣ(Gij*ej-Bij*fj)-eiΣ(Gij*fj+Bij*ej)

        V2=e(i)^2+f(i)^2;                %电压模平方

            %===求取功率差及PV节点电压模平方差 =========

        if i~=isb                       %非平衡节点(PQ或PV节点)

           if B2(i,5)~=3           %非PV节点(只能是PQ节点)   

              J(m,N1)=P(i)-P1;                    %PQ节点有功功率差J(m,N1)扩展列△P   

              J(p,N1)=Q(i)-Q1;          %PQ节点无功功率差J(p,N1)扩展列△Q

            else                %PV节点==================

              J(m,N1)=P(i)-P1;                    %PV节点有功功率差J(m,N1)扩展列△P

              J(p,N1)=V(i)^2-V2;          %PV节点电压模平方差J(p,N1)扩展列△U

            end

        end  %(if i~=isb)  非平衡节点(PQ或PV节点)

    end     %(for i=1:n)  n个节点2n行(每节点两个方程P和Q或U)

    for m=1:N0

          JJN1(m)=J(m,N1);

    end

      disp(JZ0);disp(JJN1);

    %-------------判断功率偏差量及PV节点的电压偏差量是否满足要求-----------------

      for k=3:N0        %除去平衡节点1、2号以外的所有节点

          DET=abs(J(k,N1));

          if  DET>=pr;    %PQ节点的功率偏差量及PV节点的电压偏差量是否满足要求

               IT2=IT2+1; %不满足要求的节点数加1

     

          end

      end

      ICT2(a)=IT2;      %不满足要求的节点数;a为迭代次数

      ICT1=ICT1+1;      %迭代次数

      if ICT2(a)==0;    %当前不满足要求的节点数为零

          break         %退出迭代运算

      end

      %--------------------以上为求取各个节点的功率及功率偏差及PV节点的电压偏差-------------

      %================= 求取Jacobi矩阵形成修正方程 ===================  

      for i=2:n                 %n个节点2n行(每节点两个方程P和Q或U)

        if i~=isb                       %非平衡节点(PQ或PV节点)

          if B2(i,5)~=3         %下面是针对PQ节点来求取Jacobi矩阵的元素 ===========

             C(i)=0;D(i)=0;

             for j1=1:n         %第i行共n列(n个节点间互导纳及节点电压相乘即电流)

                 C(i)=C(i)+G(i,j1)*e(j1)-B(i,j1)*f(j1);%Σ(Gij*ej-Bij*fj)

                 D(i)=D(i)+G(i,j1)*f(j1)+B(i,j1)*e(j1);%Σ(Gij*fj+Bij*ej)

             end

             for j1=2:n         %第i行共n列(2n个Jacobi矩阵元素dP/de及dP/df或dQ/de及dQ/df)

                    if j1~=isb&j1~=i                  %非平衡节点&非对角元   

                       X1=-G(i,j1)*e(i)-B(i,j1)*f(i);  % X1=dP/de=-dQ/df=-X4   

                       X2=B(i,j1)*e(i)-G(i,j1)*f(i);   % X2=dP/df=dQ/de=X3   

                       X3=X2;           % X2=dp/df  X3=dQ/de

                       X4=-X1;          % X1=dP/de  X4=dQ/df

                        p=2*i-1;q=2*j1-1;

                        J(p,q)=X3;m=p+1;     % X3=dQ/de  J(p,N)=DQ节点无功功率差 J(p,N)=DQ;

                        J(m,q)=X1;q=q+1;     % X1=dP/de  J(m,N)=DP节点有功功率差 J(m,N)=DP;

                        J(p,q)=X4;J(m,q)=X2;           % X4=dQ/df  X2=dp/df

                    elseif j1==i&j1~=isb            %非平衡节点&对角元   

                       X1=-C(i)-G(i,i)*e(i)-B(i,i)*f(i);% dP/de

                       X2=-D(i)+B(i,i)*e(i)-G(i,i)*f(i);% dP/df

                       X3=D(i)+B(i,i)*e(i)-G(i,i)*f(i); % dQ/de

                       X4=-C(i)+G(i,i)*e(i)+B(i,i)*f(i);% dQ/df

                       p=2*i-1;q=2*j1-1;J(p,q)=X3;%扩展列△Q J(p,N)=DQ;

                       m=p+1;

                       J(m,q)=X1;q=q+1;J(p,q)=X4;%扩展列△P J(m,N)=DP;

                       J(m,q)=X2;

                    end

                end

            else  %if B2(i,5)~=3   % 否则(即为PV节点)

            %=============== 下面是针对PV节点来求取Jacobi矩阵的元素 ===========

             for j1=1:n

                 if j1~=isb&j1~=i                %非平衡节点&非对角元   

                       X1=-G(i,j1)*e(i)-B(i,j1)*f(i);   % dP/de

                       X2=B(i,j1)*e(i)-G(i,j1)*f(i);    % dP/df

                       X5=0;X6=0;

                       p=2*i-1;q=2*j1-1;J(p,q)=X5;  % PV节点电压误差J(p,N)=DV;

                       m=p+1;

                       J(m,q)=X1;q=q+1;J(p,q)=X6;   % PV节点有功误差J(m,N)=DP;

                       J(m,q)=X2;

                  elseif j1==i&j1~=isb               %非平衡节点&对角元   

                       X1=-C(i)-G(i,i)*e(i)-B(i,i)*f(i);% dP/de

                       X2=-D(i)+B(i,i)*e(i)-G(i,i)*f(i);% dP/df

                       X5=-2*e(i);

                       X6=-2*f(i);

                       p=2*i-1;q=2*j1-1;J(p,q)=X5;  % PV节点电压误差J(p,N)=DV;

                       m=p+1;

                       J(m,q)=X1;q=q+1;J(p,q)=X6;   % PV节点有功误差J(m,N)=DP;

                       J(m,q)=X2;

                   end

               end

             end  %(if B2(i,5)~=3  else)

          end   %(if i~=isb)

       end      %(for i=1:n)n个节点2n行(每节点两个方程P和Q或U)

       JZ0=['形成的第(',num2str(a),')次Jacobi矩阵:'];

       disp(JZ0);disp(J);

    %=============================== 以上为形成完整的Jacobi矩阵 ================================

       %====下面用高斯消去法对由Jacobi矩阵形成的修正方程进行求解(按列消去、回代) ==========

      for k=3:N0                    % N0=2*n (从第三行开始,第一、二行是平衡节点)

          for k1=k+1:N1                        % 从k+1列的Jacobi元素到扩展列的△P、△Q 或 △U 

              J(k,k1)=J(k,k1)./J(k,k);% 用K行K列对角元素去除K行K列后的非对角元素进行规格化   

          end

          J(k,k)=1;                 % 对角元规格化K行K列对角元素赋1

          %================== 按列消去运算  ==================================

          for k2=k+1:N0   % 从k+1行到2*n最后一行

              for k3=k+1:N1    %从k2+1列到扩展列消去k+1行后各行下三角元素

                  J(k2,k3)=J(k2,k3)-J(k2,k)*J(k,k3);%消去运算

              end    %用当前行K3列元素减去当前行K列元素乘以第k行K3列元素

              J(k2,k)=0; %当前行第k列元素已消为0

          end

      end

      JZ=['Jacobi矩阵第(',num2str(a),')次消去运算'];JZ1=['Jacobi矩阵第(',num2str(a),')次回代运算'];

      disp(JZ);disp(J);

      %==================== 按列回代运算  =======================================

      for k=N0:-1:3

          for k1=k-1:-1:3

              J(k1,N1)=J(k1,N1)-J(k1,k)*J(k,N1);

              J(k1,k)=0;

          end

      end

      for m=1:N0

          JJN1(m)=J(m,N1);

      end

      disp(JZ1);disp(JJN1);%disp(J);

      %----------------------------------修改节点电压-------------------------------

      for k=3:2:N0-1

          L=(k+1)./2;

          e(L)=e(L)-J(k,N1);     %修改节点电压实部

          k1=k+1;

          f(L)=f(L)-J(k1,N1);    %修改节点电压虚部

          U(L)=sqrt(e(L)^2+f(L)^2);

      end

      disp('各个节点电压模');disp(U);

  %==============================  结束一次迭代  ==============================

end

%********************** 下面为迭代计算结束后的有关输出过程 *****************

disp('迭代次数:');

disp(ICT1-1);

disp('没有达到精度要求的个数:');

disp(ICT2);

for k=1:n

    V(k)=sqrt(e(k)^2+f(k)^2);   %计算各节点电压的模值

    sida(k)=atan(f(k)./e(k))*180./pi;   %计算各节点电压的角度

    E(k)=e(k)+f(k)*j;           %将各节点电压用复数表示

end

%=============== 计算各输出量 ===========================

disp('各节点的电压复数值E为(节点号从小到大排列):');

disp(E);    %显示各节点的实际电压值E用复数表示

disp('-----------------------------------------------------');

disp('各节点的电压模值大小V为(节点号从小到大排列):');

disp(V);    %显示各节点的电压大小V的模值

disp('-----------------------------------------------------');

disp('各节点的电压相角sida为(节点号从小到大排列):');

disp(sida);     %显示各节点的电压相角

for p=1:n

    C(p)=0;

    for q=1:n

        C(p)=C(p)+conj(Y(p,q))*conj(E(q));  %计算各节点注入电流的共轭值

    end

    S(p)=E(p)*C(p);     %计算各节点的功率 S = 电压 X 注入电流的共轭值

end

disp('各节点的功率S为(节点号从小到大排列):');

disp(S);        %显示各节点的注入功率

disp('-----------------------------------------------------');

disp('各条支路的首端功率Si为(顺序同您输入B1时一致):');

for i=1:nl

       p=B1(i,1);q=B1(i,2);

       if B1(i,7)==0

           Si(p,q)=E(p)*conj(E(p)*B1(i,4)./2+(E(p)-E(q))./B1(i,3));

           Siz(i)=Si(p,q);

       else

           if B1(i,6)==0

               Si(p,q)=E(p)*(conj(E(p)*B1(i,4)...

                   +(E(p)*B1(i,5)-E(q))*(1./(B1(i,3)*B1(i,5)))));

               Siz(i)=Si(p,q);

           else

               Si(p,q)=E(p)*conj((E(p)-E(q)*B1(i,5))*(1./(B1(i,3)*B1(i,5)^2)));

               Siz(i)=Si(p,q);

           end

        end

    ZF=['S(',num2str(p),',',num2str(q),')=',num2str(Si(p,q))];

    disp(ZF);

    disp('-----------------------------------------------------');

end

disp('各条支路的末端功率Sj为(顺序同您输入B1时一致):');

for i=1:nl

    p=B1(i,1);q=B1(i,2);

    if B1(i,7)==0

        Sj(q,p)=E(q)*conj(E(q)*B1(i,4)./2+(E(q)-E(p))./B1(i,3));

        Sjy(i)=Sj(q,p);

    else

        if B1(i,6)==0

            Sj(q,p)=E(q)*conj((E(q)-E(p)*B1(i,5))*(1./(B1(i,3)*B1(i,5)^2)));

            Sjy(i)=Sj(q,p);

        else

            Sj(q,p)=E(q)*(conj(E(q)*B1(i,4)...

                   +(E(q)*B1(i,5)-E(p))*(1./(B1(i,3)*B1(i,5)))));

            Sjy(i)=Sj(q,p);

        end

    end

    ZF=['S(',num2str(q),',',num2str(p),')=',num2str(Sj(q,p))];

    disp(ZF);

    disp('-----------------------------------------------------');

end

disp('各条支路的功率损耗DS为(顺序同您输入B1时一致):');

for i=1:nl

        p=B1(i,1);q=B1(i,2);

    DS(i)=Si(p,q)+Sj(q,p);

    ZF=['DS(',num2str(p),',',num2str(q),')=',num2str(DS(i))];

    disp(ZF);

    disp('-----------------------------------------------------');

 end

 zws=0;JDDY=[];JDP=[];JDQ=[];JDDYJD=[];

for i=1:n           %总网损为所有节点注入功率的代数和

    zws=zws+S(i);

    JDDYJD=strcat(JDDYJD,num2str(i),'(',num2str(sida(i)),'),');

    JDDY=strcat(JDDY,num2str(i),'(',num2str(V(i)),'),');

    JDP=strcat(JDP,num2str(i),'(',num2str(real(S(i))),'),');

    JDQ=strcat(JDQ,num2str(i),'(',num2str(imag(S(i))),'),');

end

JDDYJD=strcat('节点电压角度:',JDDYJD);

JDDY=strcat('节点电压模值:',JDDY);

JDP=strcat('节点有功:',JDP);

JDQ=strcat('节点无功:',JDQ);

 ZF

subplot(4,1,2);

plot(sida);

title(JDDYJD);

ylabel('节点电压角度');

grid on;

subplot(4,1,3);

P=real(S);Q=imag(S);

bar(P);

title(JDP);

ylabel('节点注入有功');

grid on;

subplot(4,1,4);

bar(Q);

title(JDQ);

xlabel(ZFS);ylabel('节点注入无功');

grid on;%***********************************

figure(2);

subplot(3,2,1);

JDH=[];JDH1=[];

for i=1:nl

    JDH=strcat(JDH,num2str(i),'(',num2str(B1(i,1)),',',num2str(B1(i,2)),'), ');

    JDH1=strcat(JDH1,num2str(i),'(',num2str(B1(i,2)),',',num2str(B1(i,1)),'), ');

end

P1=real(Siz);Q1=imag(Siz);

bar(P1);

title(JDH);

ylabel('支路首端注入有功');%xlabel('支路号');

grid on;

subplot(3,2,2);

bar(Q1);

title(JDH);

ylabel('支路首端注入无功');

grid on;

subplot(3,2,3);

P2=real(Sjy);Q2=imag(Sjy);

bar(P2);

title(JDH1);

ylabel('支路末端注入有功');

grid on;

subplot(3,2,4);

bar(Q2);

title(JDH1);

ylabel('支路末端注入无功');

grid on;

subplot(3,2,5);

P3=real(DS);Q3=imag(DS);

bar(P3);

xlabel(JDH);ylabel('支路有功损耗');

grid on;

subplot(3,2,6);

bar(Q3);

xlabel(JDH);ylabel('支路无功损耗');

grid on;

相关推荐