【正文】
。i{int statemp,endtemp。goto LOOP。//修正節(jié)點(diǎn)電壓// Bus::PrintfNodeV(bus,N)。gauss::gauss_slove(JacAug,x,NN)。//whether converbence看迭代是否結(jié)束if(icon==1){coutBus::JisuanJacAug(JacAug,X,bus,N)。//計算節(jié)點(diǎn)功率差值 Bus::PrintfNodeScal(X,bus,N)。//計算節(jié)點(diǎn)功率Bus::JisuanNodeScal(X,bus,N)。LOOP:Bus::JisuanNodeI(X,bus,N)。x=new double[NN]。for(i=0。double **JacAug。//計算節(jié)點(diǎn)導(dǎo)納矩陣Bus::PrintfNodeDnz(X,N)。for(i=0。//輸出結(jié)點(diǎn)參數(shù)Complex **X。}Bus::ScanfBusData(bus)。ibus[i].=0。//輸出支路參數(shù)Bus *bus=new Bus[N]。//動態(tài)分配支路結(jié)構(gòu)體Line::ScanfLineData(line)。N)==0){return 0。//輸入支路個數(shù)if((Lamp。//i作為整個程序的循環(huán)變量int N=Bus::ScanfBusNo()。}include “” include include include include“” include“” include“” using namespace std。Complex::PrintfComplex(Complex::ComDivRea(line[i].etos,))。endtemp=line[i].end。i{int statemp,endtemp。coutt(bus[i].)。i{coutComplex::PrintfComplex(bus[i].V)。bus[i].V=Complex::Rec2Polar(bus[i].V)。i{bus[i]. = bus[i]. + bus[i].。}coutBus::JisuanNodeScal(X,bus,N)。dd=Complex::CaddC(aa,cc)。bb=Complex::subComplex(Complex::getconj(bus[endtemp1].V), Complex::getconj(bus[statemp1].V))。line[i].stoe=Complex::productComplex(bus[statemp1].V,dd)。cc=Complex::productComplex(bb , Complex::getconj(line[i].Y))。aa=Complex::productComplex(Complex::getconj(bus[statemp1].V), B)。statemp=line[i].start。=0。i{int statemp,endtemp。goto LOOP。//修正節(jié)點(diǎn)電壓// Bus::PrintfNodeV(bus,N)。gauss::gauss_slove(JacAug,x,NN)。//whether converbence看迭代是否結(jié)束if(icon==1){coutBus::JisuanJacAug(JacAug,X,bus,N)。//計算節(jié)點(diǎn)功率差值Bus::PrintfNodeScal(X,bus,N)。//計算節(jié)點(diǎn)功率Bus::JisuanNodeScal(X,bus,N)。LOOP:Bus::JisuanNodeI(X,bus,N)。x=new double[NN]。for(i=0。double **JacAug。//計算節(jié)點(diǎn)導(dǎo)納矩陣Bus::PrintfNodeDnz(X,N)。for(i=0。//輸出結(jié)點(diǎn)參數(shù)Complex **X。}Bus::ScanfBusData(bus)。ibus[i].=0。//輸出支路參數(shù)Bus *bus=new Bus[N]。//動態(tài)分配支路結(jié)構(gòu)體Line::ScanfLineData(line)。N)==0){return 0。//輸入支路個數(shù)if((Lamp。//i作為整個程序的循環(huán)變量int N=Bus::ScanfBusNo()。謝謝include “” include include include include“” include“” include“” using namespace std。2007,35(1):8184.[11] 方思立,劉增煌,孟慶和.大型汽輪發(fā)電機(jī)自并勵勵 磁系統(tǒng)的應(yīng)用條件【J].中國電力,1994,27(12):61.63. FANG Si.Ii,LIU Zenghu鋤g,MENG Qin爭hc.m application conditions of large turbine generator selfexcitation system【J】.Electric Powef,1994,27(12): 61.63.[12]梁小冰,黃方能.利用EMTDC進(jìn)行長持續(xù)時間過程 的仿真研究【J】.電網(wǎng)技術(shù),2002,26(9):55.57. LIANG Xiaobing,HUANG Fan爭眥ng.How to cany out simulalion of long dul‘a(chǎn)tion processes by use of EMTDC【J】.Power System 11echnology,2002,26(9): 5557.[13]王卉,陳楷,彭哲,等.?dāng)?shù)字仿真技術(shù)在電力系統(tǒng)中 的應(yīng)用及常用的幾種數(shù)字仿真工具【J】.繼電器,2004,32(21):7l一75.wANG Hui,CHEN Kai,PENG zhe,et a1.Application of digital simulation眥hniques棚d severaJ simulation tools in power system[J】.Relay,2004,32(21):71End2實(shí)例驗(yàn)證 【例題】設(shè)有一系統(tǒng)網(wǎng)絡(luò)結(jié)線見圖1,各支路阻抗和各節(jié)點(diǎn)功率均已以標(biāo)幺值標(biāo)示于圖1中,其中節(jié)點(diǎn)2連接的是發(fā)電廠,設(shè)節(jié)點(diǎn)1電壓保持U1=,試計算其中的潮流分布,請輸入節(jié)點(diǎn)數(shù):n=5 請輸入支路數(shù):m=7 請輸入平衡母線的節(jié)點(diǎn)號:ph=l 請輸入支路信息:BI=[ l 2 0.02+0.06i O l 1;1 3 0.08+0.24i 0 1 2;2 3 0.06+0.18i 0 l 3: 2 4 0.06+0.18i O l 4: 2 5 0.04+0.12i 0 l 5: 3 4 0.01+0.03i 0 l 6: 4 5 0.08+0.24i O 1 7] 請輸入節(jié)點(diǎn)信息:B2=[ 0 0 1.06 3;0.2+0.20i 0 1 1;一O.45一O.15i 0 l l;一0.40.05i 0 l 1;一0.6—0.1i 0 1 l] 請輸入節(jié)點(diǎn)號及對地阻抗: A=[l 0;2 0;3 0;4 0;5 O ] 請輸入修正值:ip=0.000 0l參考文獻(xiàn)[1]陳珩.電力系統(tǒng)穩(wěn)定分析[M].北京:中國電力出版社,2002:139—187.[2]鄭阿奇.MATLAB實(shí)用教程[M].北京:電子工業(yè)出版社,2005:1243.[3] 束洪春,孫士云,等.云電送粵交商流混聯(lián)系統(tǒng)全過 程動態(tài)電壓研究[J】.中國電力,2008,4l(10):l4. SHU Hong—ch吼,SUN Shiyun,et a1.Research on fun prc39。J(:,no)=[]。J(no:)=[]。J(no:)=[]。end J(m,q)=X3。end J(p,q)=X1。P=2*i1。X4= C(i)+G(i,j)*f(i)B(i,j)*e(i)。X3= C(i)+G(i,j)*e(i)B(i,j)*f(i)。X2=C(i)+G(i,j)*e(i)+B(i,j)*f(i)。X1=D(i)+G(i,j)*f(i)B(i,j)*e(i)。Else if j=amp。J(m,q)=X4。J(p,q)=X2。m=p+1。J(p,q)=X1。q=2*j1。p=2*i1。X4=X1。X3=X2。X2=G(i,j)*e(i)+B(i,j)*f(i)。X1=G(i)*f(i)B(i,j)*e(i)。ifJ=amp。case 1 J(p,q)=X1。case 3 P=2*i1。%該子程序是用來求取jacci矩陣for i=1:n X3=0。End End case 2 Function for j=1:n J=jacci(Y,G,B,PQ,e,f,V,C,D,B2,n,ph,no)X1=G(i,j)*f(i)B(i,j)*e(i)。Df(k)=DX(i)。[x,y]=size(DX)。End ElseDX=[DX1,0,0]。DX(no+1)=0。x1=length(DX1)。endfunction [De,Df]=hxf(J,Df,ph,n,no)%該子函數(shù)是為求取De Df DX=JDf。end end end Df=Df’。p=p+1。else p=2*i1。Df(p)=P(i)P1。V1=e(i)^2+f(i)^2。endP1=C(i)*e(i)+D(i)*f(i)。For j=i:nC(i)=C(i)+G(i,j)*e(j)B(i,j)*f(j)。type resultm function [C,D,Df]=xxf(G,B,e,f,P,Q,n,B2,ph,V,no)%該子程序是用來求取Df for i=1:nIfi=phC(i)=0。end result2=[B1(:,6),B1(:,1),B1(:,2),real(b’),imag(b’),real(c’),imag(c’), real(b’+c’),imag(b’+c’)]。b(i)=v(B1(i1))*a(i)j*B1(i4)*v(B1(i))^2/2。resulte1=[A(:,1),real(v),imag(v),V,jd,real(S’),imag(S’),real(B2(:1)),imag(B2(:1)),real(B2(:2)),imag(B2(:,2))]。V=abs(v)。end S(ph)=sum(hh)*v(ph)。end v=e+f*j。e=e+De;f=f+Df。whilemax(abs(De))ipamp。[De,Di]=hxf(J,D,F,ph,n,no)。[C,D,DF]=xxf(G,B,e,f,P,Q,n,B2,ph,V,no)。end Y(p,p)=Y(p,p)+1./(B1(i3)*B1(i5)^2+B1(i4)./2P=real(S)。V(i)=B2(i3)。For i=1:m S(i)=B2(i1)B2(i2)。for i=1:n End e(i)=real(B2(i3))。if A(i2)=0B=imag(Y)。e=zeros(1,n);Y(p,q)=Y(p,q)。%它以矩陣形式存貯支路的情況,每行存貯一條支路 %第一列存貯支路的一個端點(diǎn) %第二列存貯支路的另一個端點(diǎn) %第三列存貯支路阻抗%第四列存貯支路的對地導(dǎo)納%第五列存貯變壓器的變比,注意支路為1 %第六列存貯支路的序號B2=input(‘n請輸入節(jié)點(diǎn)信息:B2=’); %第一列為電源側(cè)的功率 %第二列為負(fù)荷側(cè)的功率 %