1、哈工大电力系统分析短路及潮流计算实验上机程序教学提纲上机实验实验一 节点导纳阵生成和短路电流计算实验二 简单系统的牛顿法潮流计算姓名: 班级: 141班学号: 实验说明:本程序的电路结构来自翁增银、何仰赞主编的电力系统分析的例题实验一 节点导纳阵生成和短路电流计算一、实验目的根据所给的电力系统,编制短路电流计算程序,通过计算机进行调试,最后完成一个切实可行的电力系统计算应用程序。通过自己设计电力系统计算程序加深对电力系统分析的理解,同时加强计算机实际应用能力。二、实验内容1、编写数据输入、形成导纳阵程序2、电力系统短路计算实用公式的计算程序及编制和调试三、实验过程 1、程序代码及说明 %清屏c
2、lear%读数据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); % 形成55的0阵%=%导纳阵元素计算for a=1:1:A(2,1) m=B(a,1); n=B(a,2); if 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)2); Y(m,n)=-1/(B(a,3)+j*B(a,4)/B(a,5); Y(n,m
3、)=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)0 I(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:5 for j=1:1:5 k=Y(i,j); re=real(k); fprintf(fid,%8.4f,re); im=imag(k); if im=0 fprintf(fid,+%8.4fjt,im)
4、; end end fprintf(fid,n);end%=%=%输出阻抗阵,导纳阵求逆fprintf(fid,Z_matrixn);for i=1:1:5 for 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); end end fprintf(fid,n);end%=%=%打印输出短路电流 fprintf(fid,If=); re=real(If); fprintf(fid,%8.4f,re); im=imag(If); if im=0 fpr
5、intf(fid,+%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%=%=%输出打印支路电流fprintf(fid,Ibrn);for i=1:1:5 for j=1:1:4 k=I(i,j); re=real(k); im=imag(k);
6、 if(re=0|im=0) fprintf(fid,Branch%d-%d:I%d%d=,i,j,i,j); fprintf(fid,%8.4f,re); if im=0 fprintf(fid,+%8.4fjn,im); end end endend%=fclose(fid); %关闭文件附:node5.txt2、程序输出结果节点导纳阵: 节点阻抗阵: 短路电流:If= 0.0001+ 0.1082j 节点电压:各支路电流:四、实验总结这是我的第一次上机实验,感觉稍微有点难,主要还是在工具软件C语言或者MATLAB的运用上,但是我相信,以后学习中,我会努力掌握的,这是我把理论应用于实际中的
7、必要桥梁!实验二 简单系统的牛顿法潮流计算一、实验目的根据所给的电力系统,编制牛顿法潮流计算程序,通过计算机进行调试,最后完成一个切实可行的电力系统计算应用程序。通过自己设计电力系统计算程序加深对电力系统分析的理解,同时加强计算机实际应用能力。二、实验内容电力系统潮流计算的计算程序设计及编制和调试。三、程序框图四、实验过程1、实验程序及说明clearfid=fopen(node4.txt,r); %打开输入数据A=fscanf(fid,%f,8); %读8个数B=fscanf(fid,%f,5,A(2,1);C=fscanf(fid,%f,3,(A(1,1)-1);fclose(fid);B=
8、B;C=C;B(2,5)=1/B(2,5);Y=zeros(A(1,1); %得44的0阵%=%与前一实验同法求导纳阵for a=1:1:A(2,1) m=B(a,1); n=B(a,2); if 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)2); 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)0 Q(2*i-1,1)=C(i,3); Q(2*i,1)=0; else Q(2*i-1,1)=1;
9、 Q(2*i,1)=0; end Q(2*A(3,1)-1,1)=A(4,1); Q(2*A(3,1),1)=0;endfid=fopen(answer.txt,w);fprintf(fid,=节点电压V=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
10、); 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; end W(2*k,x)=C(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
11、(2*j-1,1); f=Q(2*j,1); p=p+g*e-b*f; q=q+g*f+b*e; end W(2*k,x)=C(k,2)-Q(2*k-1,1)*p-Q(2*k)*q; W(2*k-1,x)=(C(k,3)2-(Q(2*k-1,1)2+Q(2*k)2); End%=%=%比较是否符合条件 Max=0;for i=1:1:2*(A(1,1)-1) Max=max(abs(W(i,x),Max);endif Max=0 fprintf(fid,%8.4f+%8.4fjtt ,Q(2*k-1,1),Q(2*k,1); else fprintf(fid,%8.4f%8.4fjtt,Q(2
12、*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*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)-1 k=C(i,1); if Q(2*k,1)=0 fprintf(fid,nod
13、e%d:%8.4f+%8.4fjn,k,Q(2*k-1,1),Q(2*k,1); else fprintf(fid,node%d:%8.4f%8.4fjn,k,Q(2*k-1,1),Q(2*k,1); endendfprintf(fid,平衡点功率P+jQ=%8.4f+%8.4fj,real(Wp),imag(Wp);fclose(fid);附注:node4.txt %输入数据2、程序输出结果五、实验总结 本次实验是我把应用理论知识的重要实践,经过实验,我有两点感想,首先,作为一名工科学生,应该能熟练运用C语言和MATLAB等工具,其次,理论如果不用于实践,就永远不知道理论是用来干什么的,学到头一直是满脑子的浆糊,所以,以我的切身经历建议,把这门实验放在跟课程平行的时间上进行,这样不仅有利于实验开展,也有利于学生更加深刻地学习!
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1