diff --git a/run.m b/run.m index 4eba75a..8dd9afc 100644 --- a/run.m +++ b/run.m @@ -73,24 +73,24 @@ while(k<=kmax && maxD> EPS) iterPhaseASpotLoadQ=phaseASpotLoadQ+imag(SA); iterPhaseBSpotLoadQ=phaseBSpotLoadQ+imag(SB); iterPhaseCSpotLoadQ=phaseCSpotLoadQ+imag(SC); - %全部转换为负荷电流 - CurpA=conj((iterPhaseASpotLoadP+1j*iterPhaseASpotLoadQ)./VoltpA); - CurpB=conj((iterPhaseBSpotLoadP+1j*iterPhaseBSpotLoadQ)./VoltpB); - CurpC=conj((iterPhaseCSpotLoadP+1j*iterPhaseCSpotLoadQ)./VoltpC); - %转换为序电流 - f012=Tp2f*conj([CurpA';CurpB';CurpC']); - %把三序电流分离出来 - If0=conj(f012(1,:)'); - If1=conj(f012(2,:)'); - If2=conj(f012(3,:)'); - %试着算一下正序电流 +% %全部转换为负荷电流 +% CurpA=conj((iterPhaseASpotLoadP+1j*iterPhaseASpotLoadQ)./VoltpA); +% CurpB=conj((iterPhaseBSpotLoadP+1j*iterPhaseBSpotLoadQ)./VoltpB); +% CurpC=conj((iterPhaseCSpotLoadP+1j*iterPhaseCSpotLoadQ)./VoltpC); +% %转换为序电流 +% f012=Tp2f*conj([CurpA';CurpB';CurpC']); +% %把三序电流分离出来 +% If0=conj(f012(1,:)'); +% If1=conj(f012(2,:)'); +% If2=conj(f012(3,:)'); +% %试着算一下正序电流 % fsY11*V1; - %形成负荷序电流的测量值 - mIf0=If0; - mIf1=If1; - mIf1(3)=-mIf1(2); - mIf2=If2; - %计算 +% %形成负荷序电流的测量值 +% mIf0=If0; +% mIf1=If1; +% mIf1(3)=-mIf1(2); +% mIf2=If2; +% %计算 % fsY11=fsY11+sparse(Balance,Balance,ones(length(Balance),1),busNum,bus % Num);%这里要置0,置1,否则是奇异的 %%做最小二乘法 @@ -104,7 +104,15 @@ while(k<=kmax && maxD> EPS) %转换为三相电压 VoltpABC=Tp2f\conj([ Vf0'; (Vmf1.*exp(1j*Vaf1))'; Vf2']);%用Tp2f\ 代替Tf2p* VoltpA=conj(VoltpABC(1,:)'); - + CurpA=-conj((iterPhaseASpotLoadP+1j*iterPhaseASpotLoadQ)./VoltpA); + VoltpB=conj(VoltpABC(2,:)'); + CurpB=-conj((iterPhaseBSpotLoadP+1j*iterPhaseBSpotLoadQ)./VoltpB); + VoltpC=conj(VoltpABC(3,:)'); + CurpC=-conj((iterPhaseCSpotLoadP+1j*iterPhaseCSpotLoadQ)./VoltpC); + f012=Tp2f*conj([CurpA';CurpB';CurpC']); + If0=conj(f012(1,:)'); + If1=conj(f012(2,:)'); + If2=conj(f012(3,:)'); If0(Balance)=0;