删掉了注释掉的牛顿法求解方法
Signed-off-by: dugg@lab-desk <dugg@lab-desk>
This commit is contained in:
parent
4c2f16c8c7
commit
ebc7882194
79
run.m
79
run.m
|
|
@ -147,62 +147,6 @@ ub=checkSSatisfied(Balance,phaseABCY,VoltpABC, ...
|
|||
phaseASpotLoadP,phaseBSpotLoadP,phaseCSpotLoadP, ...
|
||||
phaseASpotLoadQ,phaseBSpotLoadQ,phaseCSpotLoadQ );
|
||||
fprintf('最大不平衡量为%f\n\n',full(max(abs(ub))))
|
||||
%% 用牛顿法求解begin
|
||||
% fprintf('开始牛顿法迭代\n');
|
||||
% [r,c,GB]=find(phaseABCY);
|
||||
% Y=abs(phaseABCY);
|
||||
% Yangle=angle(GB);
|
||||
% Vp3=sparse(ones(busNum*3,1));%给电压赋初值
|
||||
% Vp3(2:3:end)=Vp3(2:3:end)*exp(1j*-120/180*pi);
|
||||
% Vp3(3:3:end)=Vp3(3:3:end)*exp(1j*+120/180*pi);
|
||||
% PQi3P=zeros(length(PQi)*3,1);
|
||||
% PQi3P(1:3:end)=(PQi-1)*3+1;
|
||||
% PQi3P(2:3:end)=(PQi-1)*3+2;
|
||||
% PQi3P(3:3:end)=(PQi-1)*3+3;
|
||||
% PG=0;
|
||||
% QG=0;
|
||||
% PD3P=sparse(busNum*3,1);
|
||||
% QD3P=sparse(busNum*3,1);
|
||||
% PD3P(1:3:end)=phaseASpotLoadP;
|
||||
% PD3P(2:3:end)=phaseBSpotLoadP;
|
||||
% PD3P(3:3:end)=phaseCSpotLoadP;
|
||||
% QD3P(1:3:end)=phaseASpotLoadQ;
|
||||
% QD3P(2:3:end)=phaseBSpotLoadQ;
|
||||
% QD3P(3:3:end)=phaseCSpotLoadQ;
|
||||
% QGi3P=zeros(length(QGi)*3,1);
|
||||
% QGi3P(1:3:end)=(QGi-1)*3+1;
|
||||
% QGi3P(2:3:end)=(QGi-1)*3+2;
|
||||
% QGi3P(3:3:end)=(QGi-1)*3+3;
|
||||
% Vp3m=abs(Vp3);
|
||||
% Vp3a=angle(Vp3);
|
||||
% Balance3P=zeros(length(Balance)*3,1);
|
||||
% Balance3P(1:3:end)=(Balance-1)*3+1;
|
||||
% Balance3P(2:3:end)=(Balance-1)*3+2;
|
||||
% Balance3P(3:3:end)=(Balance-1)*3+3;
|
||||
% Vp3a((Balance-1)*3+1)=0;
|
||||
% 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, ...
|
||||
% PQi3P,PG,QG,QGi3P,PD3P,QD3P,Vp3m,Vp3a,Y,Yangle,r,c,0,0,0,0);
|
||||
% maxD=max(abs([dP;dQ;]));
|
||||
% jaco=Jacobi(Balance3P,busNum*3,QGi3P,Vp3m,YdotSinVolt,YdotCosVolt,diag_Volt_YdotSin,diag_Volt_YdotCos);%雅克比矩阵
|
||||
% [dV, dVangle]=Solv(busNum*3,jaco,dP,dQ);%解出修正量
|
||||
% [Vp3m, Vp3a]=Modify(Vp3m,Vp3a,dV,dVangle,1);
|
||||
% fprintf('第 %d 次迭代, 最大不平衡量为 %f\n',k,full(maxD));
|
||||
% fprintf('迭代时间%f\n',toc);
|
||||
% end
|
||||
% NewtonToc=toc;
|
||||
% fprintf('牛顿法计算时间 %f\n',NewtonToc);
|
||||
% fprintf('加速比为%f\n',NewtonToc/FortiscueToc);
|
||||
% VoltpA=Vp3m(1:3:end).*exp(1j*Vp3a(1:3:end));
|
||||
% VoltpB=Vp3m(2:3:end).*exp(1j*Vp3a(2:3:end));
|
||||
% VoltpC=Vp3m(3:3:end).*exp(1j*Vp3a(3:3:end));
|
||||
%% 用牛顿法求解end
|
||||
%% 开始进入状态估计
|
||||
clear PD QD PG QG;
|
||||
%准备量测量
|
||||
|
|
@ -229,12 +173,7 @@ If2=conj(f012(3,:)');
|
|||
sigma=0.03;
|
||||
mIf0=-If0;
|
||||
mIf1=-If1;%mIf1是注入电流,相当于发电机电流
|
||||
% mIf1(3)=-mIf1(2);
|
||||
mIf2=-If2;
|
||||
% fsY11(:,Balance)=0;
|
||||
% fsY11(Balance,:)=0;
|
||||
% fsY11=fsY11+sparse(Balance,Balance,ones(length(Balance),1),busNum,busNum);
|
||||
% mIf1(3)=1;
|
||||
%% 先算正序的
|
||||
%平衡节点电流
|
||||
fprintf('正序\n');
|
||||
|
|
@ -302,24 +241,6 @@ wI0i=abs( imag(mIf0(Loadi).*sigmaI0) );
|
|||
[ V0r,V0i,I0r,I0i ]=IPMLoop(V0measurement,wV0r,wV0i,I0measurement,wI0r,wI0i,BalI0r,BalI0i,busNum,Loadi,fsY00,Balance,0 );
|
||||
f=sum(([real(I0measurement);imag(I0measurement)]-[I0r;I0i]).^2)+sum((real(rV0)-V0r).^2)+sum((imag(rV0)-V0i).^2);
|
||||
% fprintf('目标值 %f\n',full(f));
|
||||
|
||||
%状态量
|
||||
% SEVoltpA=sparse(ones(busNum,1));
|
||||
% SEVoltpB=sparse(ones(busNum,1)).*exp(1j*-120/180*pi);
|
||||
% SEVoltpC=sparse(ones(busNum,1)).*exp(1j*+120/180*pi);
|
||||
% SEphaseASpotLoadP=zeros(length(phaseASpotLoadP),1);
|
||||
% SEphaseBSpotLoadP=zeros(length(phaseBSpotLoadP),1);
|
||||
% SEphaseCSpotLoadP=zeros(length(phaseCSpotLoadP),1);
|
||||
% SEphaseASpotLoadQ=zeros(length(phaseASpotLoadQ),1);
|
||||
% SEphaseBSpotLoadQ=zeros(length(phaseBSpotLoadQ),1);
|
||||
% SEphaseCSpotLoadQ=zeros(length(phaseCSpotLoadQ),1);
|
||||
%
|
||||
% SEVmf1=sparse(ones(busNum,1));
|
||||
% SEVaf1=sparse(zeros(busNum,1));
|
||||
% SEPD=sparse(zeros(busNum,1));
|
||||
% SEQD=sparse(zeros(busNum,1));
|
||||
|
||||
%检查目标函数
|
||||
%% 把三序合成三相
|
||||
% 三相电压
|
||||
SEVf0=V0r+1j*V0i;
|
||||
|
|
|
|||
Loading…
Reference in New Issue