diff --git a/run.m b/run.m index a6e6a93..50fe8f6 100644 --- a/run.m +++ b/run.m @@ -51,6 +51,7 @@ fsY2=fsY2+sparse(Balance,Balance,ones(length(Balance),1),busNum,busNum); fsY0(Balance,:)=0; fsY0(:,Balance)=0; fsY0=fsY0+sparse(Balance,Balance,ones(length(Balance),1),busNum,busNum); +tic while(k<=kmax && maxD> EPS) k=k+1; [dP, dQ, YdotSinVolt, YdotCosVolt, diag_Volt_YdotSin, diag_Volt_YdotCos]=Unbalance(Balance,busNum, ... @@ -61,7 +62,7 @@ while(k<=kmax && maxD> EPS) [Vmf1, Vaf1]=Modify(Vmf1,Vaf1,dV,dVangle,1); fprintf('第 %d 次迭代, 最大不平衡量为 %f\n',k,full(maxD)); %转换为三相电压 - VoltpABC=Tf2p*conj([ Vf0'; (Vmf1.*exp(1j*Vaf1))'; Vf2']); + VoltpABC=Tp2f\conj([ Vf0'; (Vmf1.*exp(1j*Vaf1))'; Vf2']);%用Tp2f\ 代替Tf2p* VoltpA=conj(VoltpABC(1,:)'); CurpA=-conj((phaseASpotLoadP+1j*phaseASpotLoadQ)./VoltpA); VoltpB=conj(VoltpABC(2,:)'); @@ -77,6 +78,7 @@ while(k<=kmax && maxD> EPS) Vf0=fsY0\If0; Vf2=fsY2\If2; end +fprintf('Fortiscue法计算时间 %f\n',toc); Vf1=Vmf1.*exp(1j*Vaf1); %% (Vf0.*conj(fsY00*Vf0)+Vf1.*conj(fsY11*Vf1)+Vf2.*conj(fsY22*Vf2))*3; @@ -130,6 +132,7 @@ Vp3a((Balance-1)*3+2)=-120/180*pi; Vp3a((Balance-1)*3+3)=+120/180*pi; k=0; maxD=10000; +tic while(k<=kmax && maxD> EPS) k=k+1; [dP, dQ, YdotSinVolt, YdotCosVolt, diag_Volt_YdotSin, diag_Volt_YdotCos]=Unbalance(Balance3P,busNum*3, ... @@ -140,5 +143,6 @@ jaco=Jacobi(Balance3P,busNum*3,QGi3P,Vp3m,YdotSinVolt,YdotCosVolt,diag_Volt_Ydot [Vp3m, Vp3a]=Modify(Vp3m,Vp3a,dV,dVangle,1); fprintf('第 %d 次迭代, 最大不平衡量为 %f\n',k,full(maxD)); end +fprintf('牛顿法计算时间 %f\n',toc);