1、哈工大电力系统分析短路及潮流计算实验上机程序上机实验实验一 节点导纳阵生成和短路电流计算实验二 简单系统的牛顿法潮流计算姓名:班级: 141 班学号:实验说明:本程序的电路结构来自翁增银、何仰赞主编的电力系统分析的例题实验一 节点导纳阵生成和短路电流计算一、实验目的根据所给的电力系统, 编制短路电流计算程序, 通过计算机进行调试,最后完 成一个切实可行的电力系统计算应用程序。 通过自己设计电力系统计算程序加深对电 力系统分析的理解,同时加强计算机实际应用能力。二、实验内容1、编写数据输入、形成导纳阵程序2、电力系统短路计算实用公式的计算程序及编制和调试三、实验过程1、程序代码及说明%清屏cle
2、ar%读数据fid=fopen(node5.txt,r);A=fscanf(fid,%d,2);B=fscanf(fid,%f,5,A(2,1);fclose(fid);B=B;%求节点导纳矩阵Y=zeros(A(1,1); % 形成 5X 5 的 0 阵%= % 导纳阵元素计算 for a=1:1:A(2,1)m=B(a,1);n=B(a,2);if B(a,5)0Y(m,m)=Y(m,m)+1/(B(a,3)+j*B(a,4);Y( n,n )=Y( n,n )+1/(B(a,3)+j*B(a,4)/(B(a,5)A2);Y(m,n)=-1/(B(a,3)+j*B(a,4)/B(a,5);
3、Y(n,m)=Y(m,n);elseif B(a,5)0 I(m,n)=(B(a,5)*V(1,m)-V(1,n)/(B(a,3)+j*B(a,4);elseif B(a,5)0I(m,n)=(V(1,m)-V(1,n)/(B(a,3)+j*B(a,4);endend%=fid=fopen(ans.txt,w); fprintf(fid,Y_matrixn);%= %输出导纳阵for i=1:1:5for j=1:1:5k=Y(i,j);re=real(k);fprintf(fid,%8.4f,re);im=imag(k);if im=0fprintf(fid,+%8.4fjt,im);end
4、endfprintf(fid,n);end%=%= %输出阻抗阵,导纳阵求逆fprintf(fid,Z_matrixn);for i=1:1:5for j=1:1:5 k=Z(i,j); re=real(k); fprintf(fid,%8.4f,re); im=imag(k);if im=0 fprintf(fid,+%8.4fjt,im);endend fprintf(fid,n);end%=%= %打印输出短路电流 fprintf(fid,If=); re=real(If);fprintf(fid,%8.4f,re); im=imag(If);if im=0 fprintf(fid,+%
5、8.4fjt,im); end fprintf(fid,nVn);%=%= %打印输出节点电压for i=1:1:5 fprintf(fid,Note%d:V%d=,i,i); k=V(1,i); re=real(k); fprintf(fid,%8.4f,re); im=imag(k);if im=0 fprintf(fid,+%8.4fjt,im); end fprintf(fid,n);end%=%输出打印支路电流fprin tf(fid,lbrn);for i=1:1:5for j=1:1:4k=l(i,j);re=real(k);im=imag(k);if(re=0|im=0)fpr
6、in tf(fid,Bra nch%d-%d:l%d%d=,i,j,i,j);fprin tf(fid,%8.4f,re);if im=0fprin tf(fid,+%8.4fjn,im);endendendend%=fclose(fid); % 关闭文件 附:node5.txt1-20. 00. 105L 05230. 0240.0650. 0163q0. 0180. 050. 013420.030. 080. 025_q0- 00. 1840. S02、程序输出结果 节点导纳阵:0. DDfla -9. 5238j1 00004$.07D1jQ. ODOtH-n oooojo.oooc*o
7、.aocoj3.C00C4O.OOOOj0. ODCO? D7O3j9. 10B5-33. D90lj-4. 9O9D+13.5288jy mgs+L0.958ja.tooc+D.MOOj0. OOCQ4-0. 1000-4. 99B0+13.53B8J11.3729-31.T.3F3 舛.tcoc+O.OOOftj0. QOCLH-n. DOriQj7. 109C+in.EKRCj-a. 3?3SF17 7C54j10.4835-34,528flju.tmc-FS.6612Jn. Qdooj1.00004n.tnnijjn. OQODfn nrnnjn.n. conn -51.节点阻抗阵:l
8、_jh.it rixD. 0040-S.282SjCL 0042-8. BC70j-0. J028-0. 033d-s.asrej-0.0036-fl.1954:d 0042-S.8070JQL 0044-氏 3473j-0. CIQ29 -S.2671J-0, 0030-工西紂-0.0038-9.鸽 BL;-0. C02B-6.S25j-0, 0023-9. 271j0.0067 -S,2436j-o. wio-p. 362( j-0,0010-9.6430j-0. 0034-E,827Sj-a oo3s-9r !90j-0. a010 -0.252OJ0. OOGD2431j0.00-0.
9、 0036-0,1064j-a 0033-0. B651j-a loio -o+ei30jO.OJ61-S.62S6j0.0054-9+ S4呂巧短路电流:If= 0.0001+ 0.1082j节点电压:四、实验总结这是我的第一次上机实验,感觉稍微有点难,主要还是在工具软件一 C语言或者MATLAB的运用上,但是我相信,以后学习中,我会努力掌握的,这是我把理论 应用于实际中的必要桥梁!实验二 简单系统的牛顿法潮流计算一、 实验目的根据所给的电力系统, 编制牛顿法潮流计算程序, 通过计算机进行调试, 最后完成一个切实可行的电力系统计算应用程序。 通过自己设计电力系统计算程序加深对电力系统分析的
10、理解,同时加强计算机实际应用能力。二、 实验内容电力系统潮流计算的计算程序设计及编制和调试。三、 程序框图四、实验过程1、实验程序及说明 clear%打开输入数据%读 8 个数%得4X 4的0阵fid=fopen(node4.txt,r);A=fscanf(fid,%f,8);B=fscanf(fid,%f,5,A(2,1); C=fscanf(fid,%f,3,(A(1,1)-1);fclose(fid);B=B;C=C;B(2,5)=1/B(2,5);Y=zeros(A(1,1);%=%与前一实验同法求导纳阵 for a=1:1:A(2,1) m=B(a,1); n=B(a,2); if
11、B(a,5)0 Y(m,m)=Y(m,m)+1/(B(a,3)+j*B(a,4);Y( n,n )=Y( n,n )+1/(B(a,3)+j*B(a,4)/(B(a,5)A2);Y(m,n)=-1/(B(a,3)+j*B(a,4)/B(a,5); Y(n,m)=Y(m,n);else if B(a,5)0Q(2*i-1,1)=C(i,3);Q(2*i,1)=0;elseQ(2*i-1,1)=1;Q(2*i,1)=0;endQ(2*A(3,1)-1,1)=A(4,1);Q(2*A(3,1),1)=0;end fid=fopen(answer.txt,w);fprintf(fid,= 节点电压 V
12、=n); fprintf(fid, 迭代计数 tt V1=e1+jf1tttt V2=e2+jf2ttttV3=e3+jf3ttn);%= 求 W 阵= W=zeros(2*(A(1,1)-1),50);for x=1:1:50 % 设置迭代次数为 50 次for i=1:1:A(7,1)k=C(i,1);p=0;q=0;m=0;n=0;for j=1:1:A(1,1)g=real(Y(k,j);b=imag(Y(k,j);e=Q(2*j-1,1);f=Q(2*j,1);p=p+g*e-b*f;q=q+g*f+b*e;m=m+g*e-b*f;n=n+g*f+b*e;endW(2*k,x)=C(
13、k,2)-Q(2*k-1,1)*p-Q(2*k)*q;W(2*k-1,x)=C(k,3)-Q(2*k)*m+Q(2*k-1,1)*n;End %=PQ 节点%=PV 节点for l=1:1:A(8,1)k=C(l+A(7,1),1);p=0;q=0;m=0;n=0;for j=1:1:A(1,1) g=real(Y(k,j); b=imag(Y(k,j); e=Q(2*j-1,1); f=Q(2*j,1); p=p+g*e-b*f; q=q+g*f+b*e;endW(2*k,x)=C(k,2)-Q(2*k-1,1)*p-Q(2*k)*q;W(2*k-1,x)=(C(k,3)A2-(Q(2*k-
14、1,1)A2+Q(2*k)A2);End%=%=%比较是否符合条件Max=0;for i=1:1:2*(A(1,1)-1)Max=max(abs(W(i,x),Max);endif Max=0fprintf(fid,%8.4f+%8.4fjtt ,Q(2*k-1,1),Q(2*k,1);elsefprintf(fid,%8.4f%8.4fjtt,Q(2*k-1,1),Q(2*k,1);endendfprintf(fid,n);end %=%= 平衡点功率 =k=A(3,1);v=0;j=sqrt(-1);for b=1:A(1,1)m=conj(Y(k,b);p=Q(2*b-1,1)+Q(2*
15、b,1)*j;n=conj(p);v=v+m*n;end Wp=(Q(2*k-1,1)+j*Q(2*k,1)*v;end%= 节点电压 V= %fid=fopen(answer.txt,w);fprintf(fid, 节点电压 Vn);for i=1:A(1,1)-1k=C(i,1);if Q(2*k,1)=0fprin tf(fid, node%d:%8.4f+%8.4fjn,k,Q(2*k-1,1),Q(2*k,1); elsefprin tf(fid, node%d:%8.4f%8.4fjn,k,Q(2*k-1,1),Q(2*k,1); endendfprintf(fid,平衡点功率 P
16、+jQ=%8.4f+%8.4fj,real(Wp),imag(Wp);fclose(fid);附注:n ode4.txt %输入数据4 4 4 1. 05 0.00001 50 2 112 0, 10.4-0. 0152831 00. 31. 114 0. L20. 5-0. 01S2024 0. 080. 4-CL 014131-0. 3-0. 182-0, 55Q. 133CL 5L 12、程序输出结果迭代计数V2=e2+j2V3=e3+jf310. 093& -0. 0088J0.9763 -0. 1078j1. 1000+ D. 125752-O.OOSfij0. 9590 -0. 1
17、084j1.0924+ 0. 1289j30. 9846 -0. 0080 j0. 95S7 -0. 1084j1.09244- 0. lSgiOj节点电压node!: 0.9846 -0.0083 node2: 0.9587 -0. 1084jnode3: 1.0924+ 0, 12P0;i平衡点功率P+jQ= 0. 36 79+ 0.五、实验总结本次实验是我把应用理论知识的重要实践,经过实验,我有两点感想,首先,作为一名工科学生,应该能熟练运用 C语言和MATLAB等工具,其次,理论如果不用于实践,就永远不知道理论是用来干什么的,学到头一直是满脑子的浆糊,所以, 以我的切身经历建议,把这门实验放在跟课程平行的时间上进行, 这样不仅有利于实验开展,也有利于学生更加深刻地学习!