logo资料库

IEEE5节点潮流程序.doc

第1页 / 共5页
第2页 / 共5页
第3页 / 共5页
第4页 / 共5页
第5页 / 共5页
资料共5页,全文预览结束
nbus=5; nlines=5; tolerance=0.00001; tap=[1;1;1;1.05;1.05]; x=[1;1;2;2;3]; y=[2;3;3;4;5]; zreal=[0.04;0.1;0.08;0;0]; zimag=[0.25;0.35;0.3;0.015;0.03]; y1=[0.25;0;0.25;0;0]; Ybus=zeros(nbus); for i=1:length(x) tap_effect11=(1/(zreal(i)+zimag(i)*j))/(tap(i)^2); tap_effect12=(-1/(zreal(i)+zimag(i)*j))/(tap(i)); tap_effect21=(-1/(zreal(i)+zimag(i)*j))/(tap(i)); tap_effect22=(1/(zreal(i)+zimag(i)*j)); Ybus(x(i),x(i))=Ybus(x(i),x(i))+tap_effect11+(y1(i))*j; Ybus(y(i),y(i))=Ybus(y(i),y(i))+tap_effect22+(y1(i))*j; Ybus(x(i),y(i))=Ybus(x(i),y(i))+tap_effect12; Ybus(y(i),x(i))=Ybus(y(i),x(i))+tap_effect21; end Ybus; G=real(Ybus); B=imag(Ybus); v_bus=[1.05;1.05;1.05;1.05;1.05]; ang_bus=[0;0;0;0;0]; p_real=[-1.6;-2;-3.7;5]; q_real=[-0.8;-1;-1.3]; count=0; flag=1; while flag>0 p_calc=[]; q_calc=[]; for i=1:nbus p_calc(i)=0; q_calc(i)=0; for j=1:nbus p_calc(i)=p_calc(i)+v_bus(i)*v_bus(j)*(G(i,j)*cos(ang_bus(i)-ang_bus(j))+B(i,j)*sin(ang_bus(i)- ang_bus(j))); q_calc(i)=q_calc(i)+v_bus(i)*v_bus(j)*(G(i,j)*sin(ang_bus(i)-ang_bus(j))-B(i,j)*cos(ang_bus(i)-a ng_bus(j))); end 1
end p_calcu=p_calc; p_calcu(5)=[]; mmp=p_real'-p_calcu; q_calcu=q_calc; q_calcu(4:5)=[]; mmq=q_real'-q_calcu; mm=[mmp mmq]'; nstate=2*nbus; Hp=zeros(nbus,nstate); Hq=zeros(nbus,nstate); bus_number=[]; for i=1:nbus bus_number=[bus_number i]; end for i=1:length(mmp) for j=1:nstate if i==j Hp(i,j)=-q_calc(i)-v_bus(i)*v_bus(i)*B(i,i); end if j~=i & j<=nbus Hp(i,j)=v_bus(i)*v_bus(j)*(G(i,j)*sin(ang_bus(i)-ang_bus(j))-B(i,j)*cos(ang_bus(i)-ang_bus(j))); end if j==i+nbus Hp(i,j)=p_calc(i)/v_bus(i)+ v_bus(i)*G(i,i); end if j~=i+nbus & j>nbus Hp(i,j)=v_bus(i)*(G(i,j-nbus)*cos(ang_bus(i)-ang_bus(j-nbus))+B(i,j-nbus)*sin(ang_bus(i)-ang_b us(j-nbus))); end end end for i=1:length(mmq) for j=1:nstate if i==j Hq(i,j)=p_calc(i)-v_bus(i)*v_bus(i)*G(i,i); end if j~=i & j<=nbus 2
Hq(i,j)=-v_bus(i)*v_bus(j)*(G(i,j)*cos(ang_bus(i)-ang_bus(j))+B(i,j)*sin(ang_bus(i)-ang_bus(j))) ; end if j==i+nbus Hq(i,j)=q_calc(i)/v_bus(i)-v_bus(i)*B(i,i); end if j~=i+nbus & j>nbus Hq(i,j)=v_bus(i)*(G(i,j-nbus)*sin(ang_bus(i)-ang_bus(j-nbus))-B(i,j-nbus)*cos(ang_bus(i)-ang_b us(j-nbus))); end end end Hp(5,:)=[]; Hq(4:5,:)=[]; H=[Hp; Hq]; H(:,9: 10)=[]; H(:,5)=[]; U=chol(H); smm=U\(U'\mm); if max(abs(smm))>tolerance flag=1; smma=smm(1:nbus-1,:); smmv=smm(nbus:2*nbus-3,:); smma=[smma;0]; smmv=[smmv;0;0]; count=count+1; v_bus=v_bus+smmv; ang_bus=ang_bus+smma; else flag=0; end end%对应 while% fprintf('\nConvergence has occurred in %d interations.\n', count+1); fprintf('\nEstimated bus voltage.'); fprintf('\nBus_number for i=1:nbus voltage\n'); fprintf('%f %f\n', bus_number(i), v_bus(i)); end fprintf('\nEstimated bus angle.'); 3
fprintf('\nBus_number for i=1:nbus angle\n'); fprintf('%f %f\n', bus_number(i), ang_bus(i)); end p_calc=[]; q_calc=[]; for i=1:nbus p_calc(i)=0; q_calc(i)=0; for j=1:nbus p_calc(i)=p_calc(i)+v_bus(i)*v_bus(j)*(G(i,j)*cos(ang_bus(i)-ang_bus(j))+B(i,j)*sin(ang_bus(i)- ang_bus(j))); q_calc(i)=q_calc(i)+v_bus(i)*v_bus(j)*(G(i,j)*sin(ang_bus(i)-ang_bus(j))-B(i,j)*cos(ang_bus(i)-a ng_bus(j))); end end fprintf('\nEstimated real power bus injection.'); fprintf('\nBus_number P\n'); for i=1:nbus fprintf('%f %f\n', bus_number(i), p_calc(i)); end fprintf('\nEstimated reactive power bus injection.'); fprintf('\nBus_number Q\n'); for i=1:nbus fprintf('%f %f\n', bus_number(i), q_calc(i)); end start_bus=x; end_bus=y; pij_calc=[]; qij_calc=[]; for i=1:length(x) q=start_bus(i); r=end_bus(i); pij_calc(i)=-((v_bus(q))^2)*G(q,r)/tap(i)+v_bus(q)*v_bus(r)*(G(q,r)*cos(ang_bus(q)-ang_bus(r)) +B(q,r)*sin(ang_bus(q)-ang_bus(r))); qij_calc(i)=((v_bus(q))^2)*(B(q,r)/tap(i)-y1(i))+v_bus(q)*v_bus(r)*(G(q,r)*sin(ang_bus(q)-ang_b us(r))-B(q,r)*cos(ang_bus(q)-ang_bus(r))); end fprintf('\nReal line flows.'); fprintf('\nFrom_bus To_bus for i=1:length(start_bus) Pij\n'); 4
fprintf('%f %f %f\n', start_bus(i), end_bus(i), pij_calc(i)); end fprintf('\nReactive line flows.'); fprintf('\nFrom_bus To_bus for i=1:length(start_bus) Qij\n'); fprintf('%f %f %f\n', start_bus(i), end_bus(i), qij_calc(i)); end pji_calc=[]; qji_calc=[]; for i=1:length(x) q=start_bus(i); r=end_bus(i); pji_calc(i)=-((v_bus(r))^2)*tap(i)*G(r,q)+v_bus(r)*v_bus(q)*(G(r,q)*cos(ang_bus(r)-ang_bus(q)) +B(r,q)*sin(ang_bus(r)-ang_bus(q))); qji_calc(i)=((v_bus(r))^2)*(tap(i)*B(r,q)-y1(i))+v_bus(r)*v_bus(q)*(G(r,q)*sin(ang_bus(r)-ang_b us(q))-B(r,q)*cos(ang_bus(r)-ang_bus(q))); end fprintf('\nReal line flows.'); fprintf('\nFrom_bus To_bus for i=1:length(start_bus) Pji\n'); fprintf('%f %f %f\n', end_bus(i), start_bus(i), pji_calc(i)); end fprintf('\nReactive line flows.'); fprintf('\nFrom_bus To_bus for i=1:length(start_bus) Qji\n'); fprintf('%f %f %f\n', end_bus(i), start_bus(i), qji_calc(i)); end 5
分享到:
收藏