南昌大学电力系统分析实验报告(共17页).doc
精选优质文档-倾情为你奉上本科生实验报告 课程名称: 电力系统分析实验 专业班级: 电力系统124 班 姓 名: 学 号: 所在学期: 2014-2015-2 2015年 6 月 20 日实验四 配电网潮流计算实验一、实验目的 本实验针对配电网具有辐射式开环结构的特性,基于前推回代的方法编制程序使系统潮流计算能够由计算机自行完成,即已知配电网首端节点电压和各末端节点的功率,由末端向首端计算网络功率分布,再由首端向末端计算节点电压分布,迭代直至收敛条件。通过实验教学加深学生对配电网潮流计算方法的理解,掌握树状辐射式配电网潮流计算的基本算法。熟悉各种常用应用软件,熟悉硬件设备的使用方法,加强编制调试计算机程序的能力,提高工程计算的能力,学习如何将理论知识和实际工程问题结合起来。二、实验器材 计算机、软件(已安装,包括各类编程软件C语言、C+、VB、VC等、应用软件MATLAB等)、移动存储设备(学生自备,软盘、U盘等)三、实验内容 编制调试配电网潮流计算的计算机程序。程序要求根据已知的配电网参数,完成该配电系统的潮流计算,要求计算出节点电压、功率等参数。1.先编制好的电力系统潮流计算的计算程序原代码由自备移动存储设备导入计算机。2.应的编程环境下对程序进行组织调试。3.应用计算例题验证程序的计算效果。4.对调试正确的计算程序进行存储、打印。5.完成本次实验的实验报告。四、实验数据如图所示一个5节点的配电网系统,S1=S2=2+j2(MV·A),S3=S4=S5=4+j4(MV·A),假定所有负荷均为恒功率负荷,节点1为参考节点相角为0o。计算电网个节点电压及支路功率分布,收敛条件为。5、 实验程序% 配电网前推回代潮流计算程序 % 使用IEEE 33节点配电系统作为算例,可实现弱环网情况下的潮流计算 countnum=0;BranchData = 1 2 0.0922 0.0470; 2 3 0.4930 0.2511; 3 4 0.3660 0.1864; 4 5 0.3811 0.1941; 5 6 0.8190 0.7070; 6 7 0.1872 0.6188; 7 8 0.7114 0.2351; 8 9 1.0300 0.7400; 9 10 1.0440 0.7400; 10 11 0.1966 0.0650; 11 12 0.3744 0.1238; 12 13 1.4680 1.1550; 13 14 0.5416 0.7129; 14 15 0.5910 0.5260; 15 16 0.7463 0.5450; 16 17 1.2890 1.7210; 17 18 0.7320 0.5740; 2 19 0.1640 0.1565; 19 20 1.5042 1.3554; 20 21 0.4095 0.4784; 21 22 0.7089 0.9373; 3 23 0.4512 0.3083; 23 24 0.8980 0.7091; 24 25 0.8960 0.7011; 6 26 0.2030 0.1034; 26 27 0.2842 0.1447; 27 28 1.0590 0.9337; 28 29 0.8042 0.7006; 29 30 0.5075 0.2585; 30 31 0.9744 0.9630; 31 32 0.3105 0.3619; 32 33 0.3410 0.5302; % 支路,阻抗 NodeData = 2 100.00 60.00; 3 90.00 40.00; 4 120.00 80.00; 5 60.00 30.00; 6 60.00 20.00; 7 200.00 100.00; 8 200.00 100.00; 9 60.00 20.00; 10 60.00 20.00; 11 45.00 30.00; 12 60.00 35.00; 13 60.00 35.00; 14 120.00 80.00; 15 60.00 10.00; 16 60.00 20.00; 17 60.00 20.00; 18 90.00 40.00; 19 90.00 40.00; 20 90.00 40.00; 21 90.00 40.00; 22 90.00 40.00; 23 90.00 50.00; 24 420.00 200.00; 25 420.00 200.00; 26 60.00 25.00; 27 60.00 25.00; 28 60.00 20.00; 29 120.00 70.00; 30 200.00 600.00; 31 150.00 70.00; 32 210.00 100.00; 33 60.00 40.00; % 节点,负荷 UB = 12.66; % 电压基准 kVSB = 10; % 功率基准 MVAZB = UB2/SB; % 阻抗基准 ohm BranchData(:,3,4) = BranchData(:,3,4) / ZB; % 阻抗标幺化NodeData(:,2,3) = NodeData(:,2,3) / SB / 1000;% 功率标幺化 NN = 33; % 节点数 A0 = zeros(NN);for n = 1:NN-1 A0(BranchData(n,1),BranchData(n,2) = 1;end % 形成 A0 AssociatedMatrix=0; for n=2:NN-1 AssociatedMatrix(n,n)=1; temp=BranchData(n-1,1); AssociatedMatrix(n,1:n-1)=AssociatedMatrix(temp,1:n-1);end A0T = A0' % 形成 A0 的转置S = 0;-NodeData(:,2) - i*NodeData(:,3); % 形成 SZL = 0;BranchData(:,3) + i*BranchData(:,4); % 形成 ZL V = ones(NN,1);V(1) = 1; % 各个节点电压赋初值 IL(NN,1) = -conj(S(NN) / V(NN); % 最末支路电流赋初值 Delta = 1; % 收敛判据赋初值TempV = V; % 赋初值,用于记忆上次迭代结果 while Delta > 1e-8 countnum=countnum+1; IN = conj(S ./ V); % 节点注入电流 for n = 1:NN-1 IL(NN-n) = A0(NN-n,NN-n+1:end) * IL(NN-n+1:end) - IN(NN-n); end % 电流回代过程 for n = 2:NN V(n) = A0T(n,1:n-1) * V(1:n-1) - ZL(n) * IL(n); end % 电压前推过程 Delta = max(abs(V-TempV); % 更新收敛判据 TempV = V; % 记忆迭代结果end Vangle(:,1)=abs(V);Vangle(:,2)=angle(V)/3.1415*180; for i=1:NN-1 st=BranchData(i,1); en=BranchData(i,2); Sij(i,1)=V(st)*conj(V(st)-V(en)/ZL(i+1); Sji(i,1)=V(en)*conj(V(en)-V(st)/ZL(i+1);End实验五 输电网潮流计算实验一、实验目的 本实验针对高压输电网络具有多环、多电源的结构特性,要求根据功率平衡方程的泰勒展开式近似的求取系统的状态变量,使系统潮流计算能够由计算机自行完成,即根据已知的电力网的数学模型(节点导纳矩阵)及各节点参数,由计算程序运行完成该电力系统的潮流计算。通过实验教学加深学生对复杂电力系统潮流计算计算方法的理解,学会运用电力系统的数学模型,掌握潮流计算的过程及其特点,熟悉各种常用应用软件,熟悉硬件设备的使用方法,加强编制调试计算机程序的能力,提高工程计算的能力,学习如何将理论知识和实际工程问题结合起来。二、实验器材 计算机、软件(已安装,包括各类编程软件C语言、C+、VB、VC等、应用软件MATLAB等)、移动存储设备(学生自备,软盘、U盘等)三、实验内容 编制调试电力系统潮流计算的计算机程序。程序要求根据已知的电网的数学模型(节点导纳矩阵)及各节点参数,完成该电力系统的潮流计算,要求计算出节点电压、功率等参数。1.采用牛顿拉夫逊法编制程序编制潮流程序。2.先编制好的电力系统潮流计算的计算程序原代码由自备移动存储设备导入计算机。3.应的编程环境下对程序进行组织调试。4.应用计算例题验证程序的计算效果。5.对调试正确的计算程序进行存储、打印。6.完成本次实验的实验报告。4、 实验程序%牛顿拉夫逊法进行潮流计算% B1矩阵:1、支路首端号;2、末端号;3、支路阻抗;4、支路对地电纳% 5、支路的变比;6、支路首端处于K侧为1,1侧为0% B2矩阵:1、该节点发电机功率;2、该节点负荷功率;3、节点电压初始值% 4、PV节点电压V的给定值;5、节点所接的无功补偿设备的容量% 6、节点分类标号:1为平衡节点;2为PQ节点;% 3为PV节点;clear;clc;n=4;%input('请输入节点数:n=');nl=4;%input('请输入支路数:nl=');isb=1;%input('请输入平衡母线节点号:isb=');pr=0.00001;%input('请输入误差精度:pr=');B1=2 4 0.1+0.4i 0.01528*2i 1 0 ; 3 4 0.3i 0 1./1.1 0 ; 1 4 0.12+0.5i 0.01920*2i 1 0; 1 2 0.08+0.4i 0.01413*2i 1 0 ; %input('请输入各节点参数形成的矩阵:B2=');B2=0 0 1.05 1.05 0 1; 0 0.3+0.18i 1 0 0 2; 0.5 0 1.1 1.1 0 3; 0 0.55+0.13i 1 0 0 2;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:nl%支路数 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)+B1(i,4)./2;%对角元K侧 Y(p,p)=Y(p,p)+1./B1(i,3)+B1(i,4)./2; %对角元1侧 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)=B2(i,4);%PV节点电压给定模值 endfor i=1:n%给定各节点注入功率 S(i)=B2(i,1)-B2(i,2); %i节点注入功率SG-SL B(i,i)=B(i,i)+B2(i,5);%i节点无功补偿量 end%-P=real(S);Q=imag(S); %分解出各节点注入的有功和无功功率ICT1=0;IT2=1;N0=2*n;N=N0+1;a=0; %迭代次数ICT1、a;不满足收敛要求的节点数IT2while IT2=0 % N0=2*n 雅可比矩阵的阶数;N=N0+1扩展列 IT2=0;a=a+1; for i=1:n if i=isb%非平衡节点 C(i)=0;D(i)=0; for j1=1: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 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)%求i节点有功和无功功率P',Q'的计算值 V2=e(i)2+f(i)2;%电压模平方 %- 以下针对非PV节点来求取功率差及Jacobi矩阵元素 - if B2(i,6)=3%非PV节点 DP=P(i)-P1;%节点有功功率差 DQ=Q(i)-Q1; %节点无功功率差 %- 以上为除平衡节点外其它节点的功率计算 -%-求取Jacobi矩阵 - for j1=1:n if j1=isb&j1=i%非平衡节点&非对角元 X1=-G(i,j1)*e(i)-B(i,j1)*f(i);% dP/de=-dQ/df X2=B(i,j1)*e(i)-G(i,j1)*f(i);% dP/df=dQ/de 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;J(p,N)=DQ;m=p+1; % X3=dQ/de J(p,N)=DQ节点无功功率差 J(m,q)=X1;J(m,N)=DP;q=q+1; % X1=dP/de 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;J(p,N)=DQ;%扩展列Q m=p+1; J(m,q)=X1;q=q+1;J(p,q)=X4;J(m,N)=DP;%扩展列P J(m,q)=X2; end end else%-下面是针对PV节点来求取Jacobi矩阵的元素 - DP=P(i)-P1;% PV节点有功误差 DV=V(i)2-V2;% PV节点电压误差 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;J(p,N)=DV; % PV节点电压误差 m=p+1; J(m,q)=X1;J(m,N)=DP;q=q+1;J(p,q)=X6; % PV节点有功误差 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;J(p,N)=DV; % PV节点电压误差 m=p+1; J(m,q)=X1;J(m,N)=DP;q=q+1;J(p,q)=X6; % PV节点有功误差 J(m,q)=X2; end end end end end%- 以上为求雅可比矩阵的各个元素及扩展列的功率差或电压差 - for k=3:N0 % N0=2*n (从第三行开始,第一、二行是平衡节点) k1=k+1;N1=N; % N=N0+1 即 N=2*n+1扩展列P、Q 或 U for k2=k1:N1% 从k+1列的Jacobi元素到扩展列的P、Q 或 U J(k,k2)=J(k,k2)./J(k,k);% 用K行K列对角元素去除K行K列后的非对角元素进行规格化 end J(k,k)=1; % 对角元规格化K行K列对角元素赋1 %- 回代运算 - if k=3 % 不是第三行 k > 3 k4=k-1; for k3=3:k4% 用k3行从第三行开始到当前行的前一行k4行消去 for k2=k1:N1% k3行后各行上三角元素 J(k3,k2)=J(k3,k2)-J(k3,k)*J(k,k2);%消去运算(当前行k列元素消为0) end %用当前行K2列元素减去当前行k列元素乘以第k行K2列元素 J(k3,k)=0; %当前行第k列元素已消为0 end if k=N0 %若已到最后一行 break; end %- 前代运算 - for k3=k1:N0 % 从k+1行到2*n最后一行 for k2=k1:N1 % 从k+1列到扩展列消去k+1行后各行下三角元素 J(k3,k2)=J(k3,k2)-J(k3,k)*J(k,k2);%消去运算 end %用当前行K2列元素减去当前行k列元素乘以第k行K2列元素 J(k3,k)=0; %当前行第k列元素已消为0 end else %是第三行k=3 %- 第三行k=3的前代运算 - for k3=k1:N0 %从第四行到2n行(最后一行) for k2=k1:N1 %从第四列到2n+1列(即扩展列) J(k3,k2)=J(k3,k2)-J(k3,k)*J(k,k2);%消去运算(当前行3列元素消为0) end %用当前行K2列元素减去当前行3列元素乘以第三行K2列元素 J(k3,k)=0; %当前行第3列元素已消为0 end end end%-上面是用线性变换方式高斯消去法将Jacobi矩阵化成单位矩阵- for k=3:2:N0-1 L=(k+1)./2; e(L)=e(L)-J(k,N); %修改节点电压实部 k1=k+1; f(L)=f(L)-J(k1,N); %修改节点电压虚部 end %-修改节点电压- for k=3:N0 DET=abs(J(k,N); if DET>=pr %电压偏差量是否满足要求 IT2=IT2+1; %不满足要求的节点数加1 end end ICT2(a)=IT2; %不满足要求的节点数 ICT1=ICT1+1; %迭代次数end%用高斯消去法解"w=-J*V"disp('迭代次数:');disp(ICT1);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 注入电流的共轭值enddisp('各节点的功率S为(节点号从小到大排列):');disp(S); %显示各节点的注入功率 五、实验结果 在上图所示的简单电力系统中,系统中节点1、2为PQ节点,节点3为PV节点,节点4为平衡节点,已给定P1s+jQ1s=-0.30-j0.18 P2s+jQ2s=-0.55-j0.13 P3s=0.5 V3s=1.10 V4s=1.050°容许误差=10-5节点导纳矩阵:各节点电压: 节点 e f v 1. 0. -0. 0. -0. 2. 0. -0. 0. -6. 3. 1. 0. 1. 6. 4. 1. 0. 1. 0.各节点功率: 节点 P Q 1 -0. -0. 2 0. -0. 3 0. -0. 4 0. 0.导纳矩阵 Y=1.0421 - 8.2429i-0.5882 + 2.3529i0.0000 + 3.6667i-0.4539 + 1.8911i-0.5882 + 2.3529i1.0690 - 4.7274i 0.0000 + 0.0000i-0.4808 + 2.4038i0.0000 + 3.6667i0.0000 + 0.0000i 0.0000 - 3.3333i0.0000 + 0.0000i-0.4539 + 1.8911i-0.4808 + 2.4038i 0.0000 + 0.0000i0.9346 - 4.2616i 迭代次数: 4各节点的实际电压标幺值E为(节点号从小到大排列): 0.9854 - 0.0485i 0.9691 - 0.0759i 1.0968 + 0.0844i 1.0500 + 0.0000i各节点的电压大小e为(节点号从小到大排列): 0.9854 0.9691 1.0968 1.0500各节点的电压大小f为(节点号从小到大排列): -0.0485 -0.0759 0.0844 0各节点的电压大小V为(节点号从小到大排列): 0.9866 0.9721 1.1000 1.0500各节点的电压相角sida为(节点号从小到大排列): -2.8167 -4.4784 4.4018 0各节点的功率S为(节点号从小到大排列): -0.5500 - 0.1300i -0.3000 - 0.1800i 0.5000 + 0.0