删除多余的函数文件。
Signed-off-by: facat <dmy@dmy-PC.(none)>
This commit is contained in:
238
func_ddh.m
238
func_ddh.m
@@ -1,187 +1,55 @@
|
||||
function ddh=func_ddh(AngleIJMat,GB,Volt,Init_Y,Busnum)
|
||||
%% deltaPi/deltaThytai_deltaThytaj 非对角元素
|
||||
t1=-Volt'*Volt;
|
||||
t2=real(GB).*cos(AngleIJMat)+imag(GB).*sin(AngleIJMat);
|
||||
dPdTidTj=t1.*t2; %%(保留了对角元素的)
|
||||
dPidTidTj_2=dPdTidTj-diag(diag(dPdTidTj));%去掉了对角元素的
|
||||
t3=repmat(Init_Y',1,size(Init_Y,2));%乘y的系数
|
||||
dPidTidTj_2=dPidTidTj_2.*t3(1:2:size(Init_Y,2),1:2:size(Init_Y,2));
|
||||
t2=real(GB).*cos(AngleIJMat)-imag(GB).*sin(AngleIJMat);
|
||||
t3=t1.*t2;
|
||||
dPjdTidTj=t3-diag(diag(t3));%去掉了对角元素的
|
||||
t3=repmat(Init_Y,size(Init_Y,2),1);
|
||||
dPjdTidTj=dPjdTidTj.*t3(1:2:size(Init_Y,2),1:2:size(Init_Y,2));%乘y的系数
|
||||
dPdTidTj=dPidTidTj_2+dPjdTidTj;%最终非对角元素 @@@
|
||||
%% deltaP/deltaThyta_deltaThyta 对角元素
|
||||
t1=sum(-dPidTidTj_2,2);
|
||||
t2=diag(t1'.*Init_Y(1:2:size(Init_Y,2)));%乘y的系数
|
||||
t3=sum(-dPidTidTj_2,1);
|
||||
t4=diag(t3.*Init_Y(1:2:size(Init_Y,2)));%乘y的系数
|
||||
dPdTidTi=t2+t4;%%最终对角元素 @@@
|
||||
%% deltaP/deltaThytai_dVi 对角元素
|
||||
t1=ones(Busnum,1)*Volt.*(real(GB).*sin(AngleIJMat)-imag(GB).*cos(AngleIJMat));
|
||||
t2=diag(t1);
|
||||
t3=t1-diag(t2);%去掉了对角元素的
|
||||
t4=sum(t3,2);
|
||||
t4=t4'.*Init_Y(1:2:size(Init_Y,2));%乘y的系数
|
||||
dPidTidVi=diag(t4);
|
||||
dPidTjdVj=-t3;
|
||||
t6=sum(dPidTjdVj,1);
|
||||
t6=t6.*Init_Y(1:2:size(Init_Y,2));%乘y的系数
|
||||
dPdTidVi=dPidTidVi+diag(t6);%%最终对角元素 @@@
|
||||
%% deltaP/deltaThytai_dVj 非对角元素
|
||||
t1=ones(Busnum,1)*Volt.*(real(GB).*sin(AngleIJMat)-imag(GB).*cos(AngleIJMat));
|
||||
dPidTidVj=t1-diag(diag(t1));%%去掉对角元素的
|
||||
t2=repmat(Init_Y',1,size(Init_Y,2));
|
||||
dPidTidVj=dPidTidVj.*t2(1:2:size(Init_Y,2),1:2:size(Init_Y,2));%乘y的系数
|
||||
t1=ones(Busnum,1)*Volt.*(real(GB).*sin(AngleIJMat)+imag(GB).*cos(AngleIJMat));
|
||||
dPjdTidVj=t1-diag(diag(t1));%去掉对角元素的
|
||||
t2=t2';
|
||||
dPjdTidVj=dPjdTidVj.*t2(1:2:size(Init_Y,2),1:2:size(Init_Y,2));%乘y的系数
|
||||
dPdTidVj=dPidTidVj+dPjdTidVj;%最终非对角元素 @@@
|
||||
%% deltaP/dVi_deltaThytaj 非对角元素
|
||||
t1=-ones(Busnum,1)*Volt.*(real(GB).*sin(AngleIJMat)-imag(GB).*cos(AngleIJMat));
|
||||
dPidVidTj=t1-diag(diag(t1));
|
||||
t2=repmat(Init_Y',1,size(Init_Y,2));
|
||||
dPidVidTj=dPidVidTj.*t2(1:2:size(Init_Y,2),1:2:size(Init_Y,2));%乘y的系数
|
||||
t1=-ones(Busnum,1)*Volt.*(real(GB).*sin(AngleIJMat)+imag(GB).*cos(AngleIJMat));
|
||||
dPjdVidTj=t1-diag(diag(t1));
|
||||
t2=t2';
|
||||
dPjdVidTj=dPjdVidTj.*t2(1:2:size(Init_Y,2),1:2:size(Init_Y,2));%乘y的系数
|
||||
dPdVidTj=dPidVidTj+dPjdVidTj;%最终非对角元素 @@@
|
||||
%% deltaPi/dVi_deltaThyta 对角元素
|
||||
dPdVidTi=dPdTidVi;%最终对角元素 @@
|
||||
%% deltaP/dVi_dVj 非对角元素
|
||||
t1=-(real(GB).*cos(AngleIJMat)+imag(GB).*sin(AngleIJMat));
|
||||
dPidVidVj=t1-diag(diag(t1));%去掉对角元素的
|
||||
t2=repmat(Init_Y',1,size(Init_Y,2));
|
||||
dPidVidVj=dPidVidVj.*t2(1:2:size(Init_Y,2),1:2:size(Init_Y,2));%乘y的系数
|
||||
t1=-(real(GB).*cos(AngleIJMat)-imag(GB).*sin(AngleIJMat));
|
||||
dPjdVidVj=t1-diag(diag(t1));
|
||||
t2=t2';
|
||||
dPjdVidVj=dPjdVidVj.*t2(1:2:size(Init_Y,2),1:2:size(Init_Y,2));%乘y的系数
|
||||
dPdVidVj=dPidVidVj+dPjdVidVj;%最终非对角元素 @@@@
|
||||
%% deltaP/dVi_dVi 对角元素
|
||||
t0=real(GB).*cos(AngleIJMat)+imag(GB).*sin(AngleIJMat);
|
||||
t1=diag(t0);
|
||||
t2=t1'.*Init_Y(1:2:size(Init_Y,2));%乘y的系数
|
||||
dPidVidVi=-2*diag(t2);
|
||||
dPidVjdVj=0;
|
||||
dPdVidVi=dPidVidVi+dPidVjdVj;%最终对角元素 @@@
|
||||
%% 生成APi
|
||||
APi=zeros(2*Busnum,2*Busnum);
|
||||
APi(1:2:2*Busnum,1:2:2*Busnum)=dPdTidTj;%%非对角 TT
|
||||
APi(1:2:2*Busnum,2:2:2*Busnum)=dPdTidVj;%%非对角 TV
|
||||
APi(2:2:2*Busnum,1:2:2*Busnum)=dPdVidTj;%%非对角 VT
|
||||
APi(2:2:2*Busnum,2:2:2*Busnum)=dPdVidVj;%%非对角 VV
|
||||
APi(1:2:2*Busnum,1:2:2*Busnum)=dPdTidTi;%%对角
|
||||
APi(1:2:2*Busnum,2:2:2*Busnum)=dPdTidVi;%%对角
|
||||
APi(2:2:2*Busnum,1:2:2*Busnum)=dPdVidTi;%%对角
|
||||
APi(2:2:2*Busnum,2:2:2*Busnum)=dPdVidVi;%%对角
|
||||
%% deltaQ/deltaThyta_deltaThyta 非对角元素
|
||||
%t1=-Volt'*Volt;
|
||||
t1=Volt'*Volt;
|
||||
t2=real(GB).*sin(AngleIJMat)-imag(GB).*cos(AngleIJMat);
|
||||
dQidTidTj=t1.*t2;%不去掉对角元素了,反正最后是要修正的
|
||||
t3=repmat(Init_Y',1,size(Init_Y,2));
|
||||
dQidTidTj=dQidTidTj.*t3(2:2:size(Init_Y,2),2:2:size(Init_Y,2));%乘y的系数
|
||||
t2=real(GB).*sin(AngleIJMat)+imag(GB).*cos(AngleIJMat);
|
||||
dQjdTidTj=-t1.*t2;
|
||||
t3=t3';
|
||||
dQjdTidTj=dQjdTidTj.*t3(2:2:size(Init_Y,2),2:2:size(Init_Y,2));%乘y的系数
|
||||
dQdTidTj=dQidTidTj+dQjdTidTj;%最终非对角元素 @@@
|
||||
%% deltaQ/deltaThyta_deltaThyta 对角元素
|
||||
t1=dQidTidTj-diag(diag(dQidTidTj));%去对角元素
|
||||
t2=sum(t1,2);
|
||||
t3=t2'.*Init_Y(2:2:size(Init_Y,2));%乘y的系数
|
||||
%dQidTidTi=diag(t3);
|
||||
dQidTidTi=-diag(t3);
|
||||
t1=-Volt'*Volt;
|
||||
t2=real(GB).*sin(AngleIJMat)-imag(GB).*cos(AngleIJMat);
|
||||
t3=t1.*t2;
|
||||
t4=t3-diag(diag(t3));
|
||||
t5=repmat(Init_Y',1,size(Init_Y,2));%乘y的系数
|
||||
t6=t4.*t5(2:2:size(Init_Y,2),2:2:size(Init_Y,2));
|
||||
t7=sum(t6,1);
|
||||
dQjdTidTi=diag(t7);
|
||||
dQdTidTi=dQjdTidTi+dQidTidTi;%最终对角元素 @@@
|
||||
%% deltaQ/deltaThyta_deltaV 非对角元素
|
||||
%t1=-Volt;
|
||||
t1=Volt;
|
||||
t2=real(GB).*cos(AngleIJMat)+imag(GB).*sin(AngleIJMat);
|
||||
t3=t1'*ones(1,Busnum).*t2;
|
||||
t4=repmat(Init_Y',1,size(Init_Y,2));
|
||||
dQidTidVj=t3.*t4(2:2:size(Init_Y,2),2:2:size(Init_Y,2));%乘y的系数
|
||||
t2=real(GB).*cos(AngleIJMat)-imag(GB).*sin(AngleIJMat);
|
||||
t3=-Volt'*ones(1,Busnum).*t2;
|
||||
t4=t4';
|
||||
dQjdTidVj=t3.*t4(2:2:size(Init_Y,2),2:2:size(Init_Y,2));%乘y的系数
|
||||
dQdTidVj=dQidTidVj+dQjdTidVj;%最终非对角元素 @@@
|
||||
%% deltaQ/deltaThyta_deltaV 对角元素
|
||||
%t1=sum(dQidTidVj,2)-diag(dQidTidVj);%去掉对角元素
|
||||
t1=real(GB).*cos(AngleIJMat)+imag(GB).*sin(AngleIJMat);
|
||||
t2=ones(Busnum,1)*Volt.*t1;
|
||||
t3=sum(t2,2);
|
||||
t4=t3'.*Init_Y(2:2:size(Init_Y,2));%乘y的系数
|
||||
dQidTidVi=diag(t4);
|
||||
t1=-Volt'*ones(1,Busnum).*(real(GB).*cos(AngleIJMat)+imag(GB).*sin(AngleIJMat));
|
||||
t2=t1-diag(diag(t1));
|
||||
t3=repmat(Init_Y',1,size(Init_Y,2));
|
||||
t4=t2.*t3(2:2:size(Init_Y,2),2:2:size(Init_Y,2));%乘y的系数
|
||||
t5=sum(t4,1);
|
||||
dQjdTidVi=diag(t5);
|
||||
dQdTidVi=dQidTidVi+dQjdTidVi;% @@
|
||||
%% deltaQ/deltaV_deltaV 非对角元素
|
||||
t1=real(GB).*sin(AngleIJMat)-imag(GB).*cos(AngleIJMat);
|
||||
t2=repmat(Init_Y',1,size(Init_Y,2));
|
||||
t3=t1.*t2(2:2:size(Init_Y,2),2:2:size(Init_Y,2));%乘y的系数
|
||||
dQidVidVj=t3;
|
||||
t1=-real(GB).*sin(AngleIJMat)-imag(GB).*cos(AngleIJMat);
|
||||
t2=t2';
|
||||
t3=t1.*t2(2:2:size(Init_Y,2),2:2:size(Init_Y,2));%乘y的系数
|
||||
dQjdVidVj=t3;
|
||||
dQdVidVj=dQidVidVj+dQjdVidVj;% @@@
|
||||
%% deltaQ/deltaV_deltaV 对角元素
|
||||
t1=2*(real(GB).*sin(AngleIJMat)-imag(GB).*cos(AngleIJMat));
|
||||
t2=diag(t1);
|
||||
t3=t2'.*Init_Y(2:2:size(Init_Y,2));%乘y的系数
|
||||
dQidVidVi=diag(t3);
|
||||
% t1=-real(GB).*sin(AngleIJMat)-imag(GB).*cos(AngleIJMat);
|
||||
% t2=diag(t1);
|
||||
% t3=t1-diag(t2);
|
||||
% t4=sum(t3,1);
|
||||
% t5=t4.*Init_Y(2:2:size(Init_Y,2));%乘y的系数
|
||||
% dQjdVidVi=diag(t5);
|
||||
dQjdVidVi=0;
|
||||
dQdVidVi=dQidVidVi+dQjdVidVi; % @@
|
||||
%% deltaQ/deltaV_deltaThyta 非对角元素
|
||||
%t1=real(GB).*sin(AngleIJMat)+imag(GB).*cos(AngleIJMat);
|
||||
t1=real(GB).*cos(AngleIJMat)+imag(GB).*sin(AngleIJMat);
|
||||
t2=-ones(Busnum,1)*Volt.*(t1);
|
||||
t3=repmat(Init_Y',1,size(Init_Y,2));
|
||||
t4=t2'.*t3(2:2:size(Init_Y,2),2:2:size(Init_Y,2));%乘y的系数
|
||||
dQidVidTj=t4;
|
||||
t1=real(GB).*cos(AngleIJMat)-imag(GB).*sin(AngleIJMat);
|
||||
t2=-ones(Busnum,1)*Volt.*(t1);
|
||||
t3=t3';
|
||||
t4=t2.*t3(2:2:size(Init_Y,2),2:2:size(Init_Y,2));%乘y的系数
|
||||
dQjdVidTj=t4;
|
||||
dQdVidTj=dQidVidTj+dQjdVidTj;% @
|
||||
%% deltaQ/deltaV_deltaThyta 对角元素
|
||||
dQdVidTi=dQdTidVi;% @
|
||||
%% 生成AQi
|
||||
AQi=zeros(2*Busnum,2*Busnum);
|
||||
AQi(1:2:2*Busnum,1:2:2*Busnum)=dQdTidTj;%%非对角 TT
|
||||
AQi(1:2:2*Busnum,2:2:2*Busnum)=dQdTidVj;%%非对角 TV
|
||||
AQi(2:2:2*Busnum,1:2:2*Busnum)=dQdVidTj;%%非对角 VT
|
||||
AQi(2:2:2*Busnum,2:2:2*Busnum)=dQdVidVj;%%非对角 VV
|
||||
AQi(1:2:2*Busnum,1:2:2*Busnum)=dQdTidTi;%%对角
|
||||
AQi(1:2:2*Busnum,2:2:2*Busnum)=dQdTidVi;%%对角
|
||||
AQi(2:2:2*Busnum,1:2:2*Busnum)=dQdVidTi;%%对角
|
||||
AQi(2:2:2*Busnum,2:2:2*Busnum)=dQdVidVi;%%对角
|
||||
%% 生成ddh
|
||||
t=[zeros(4,14);
|
||||
zeros(2*5,4),AQi+APi;
|
||||
function ddh=func_ddh3(Volt,Init_Y,Busnum,PVi,PGi,Y,UAngel,r,c,Angle,Loadi,ContrlCount)
|
||||
%决定用循环重写
|
||||
%ContrlCount=size(PVi,1)+size(PGi,1)+size(Loadi,1)+Busnum*2;
|
||||
|
||||
%AngleIJ=AngleIJMat-angle(GB);
|
||||
mat_AngleIJ=sparse(r,c,UAngel(r)-UAngel(c)-Angle',Busnum,Busnum);
|
||||
mat_INV_AngleIJ=mat_AngleIJ';
|
||||
yP=Init_Y(1:size(Init_Y,2)/2);%暂时改这里 20111227
|
||||
yQ=Init_Y(size(Init_Y,2)/2+1:size(Init_Y,2));%暂时改这里 20111227
|
||||
t1=-sparse(1:Busnum,1:Busnum,Y.*cos(mat_INV_AngleIJ)*sparse(1:Busnum,1:Busnum,Volt,Busnum,Busnum)*yP',Busnum,Busnum);
|
||||
t2=sparse(1:Busnum,1:Busnum,sparse(1:Busnum,1:Busnum,Volt,Busnum,Busnum)*yP',Busnum,Busnum)*Y.*cos(mat_AngleIJ);
|
||||
t3=(t1+t2)*sparse(1:Busnum,1:Busnum,Volt,Busnum,Busnum);
|
||||
t4=-(sparse(1:Busnum,1:Busnum,Y.*cos(mat_AngleIJ)*Volt',Busnum,Busnum) -sparse(1:Busnum,1:Busnum,Volt,Busnum,Busnum)*Y.*cos(mat_INV_AngleIJ) )*sparse(1:Busnum,1:Busnum,sparse(1:Busnum,1:Busnum,Volt,Busnum,Busnum)*yP',Busnum,Busnum);
|
||||
ddPdTdT=t3+t4;%ok1
|
||||
t1=(-sparse(1:Busnum,1:Busnum,Y.*sin(mat_AngleIJ)*Volt',Busnum,Busnum)+sparse(1:Busnum,1:Busnum,Volt,Busnum,Busnum)*Y.*sin(mat_INV_AngleIJ) )*sparse(1:Busnum,1:Busnum,yP,Busnum,Busnum);
|
||||
t2= -sparse(1:Busnum,1:Busnum, sparse(1:Busnum,1:Busnum,Volt,Busnum,Busnum)*yP' ,Busnum,Busnum)*Y.*sin(mat_AngleIJ)+sparse(1:Busnum,1:Busnum,Y.*sin(mat_INV_AngleIJ)*sparse(1:Busnum,1:Busnum,Volt,Busnum,Busnum)*yP',Busnum,Busnum);
|
||||
ddPdVdT=t1+t2;%ok1
|
||||
t1=diag( Y.*sin(mat_INV_AngleIJ)*diag(Volt)*yP');
|
||||
t2=diag(yP)*Y.*sin(mat_AngleIJ)*diag(Volt);
|
||||
t3=-diag(yP)*diag(Y.*sin(mat_AngleIJ)*Volt');
|
||||
t4=-Y.*sin(mat_INV_AngleIJ)*diag( diag(Volt)*yP' );
|
||||
ddPdTdV=t1+t2+t3+t4;%存疑与我的不一样
|
||||
t1=Y.*cos(mat_INV_AngleIJ)*diag(yP);
|
||||
t2=diag(yP)*Y.*cos(mat_AngleIJ);
|
||||
ddPdVdV=t1+t2;
|
||||
t1=-diag(Y.*sin(mat_AngleIJ)*Volt');
|
||||
t2=diag(Volt)*Y.*sin(mat_INV_AngleIJ);
|
||||
t3=(t1+t2)*diag( diag(Volt)*yQ' );
|
||||
t4=-diag( diag(Volt)*yQ' )*Y.*sin(mat_AngleIJ);
|
||||
|
||||
t5=diag(Y.*sin(mat_INV_AngleIJ)*diag(Volt)*yQ');
|
||||
t6=-(t4+t5)*diag(Volt);
|
||||
ddQdTdT=t3+t6;%ok1
|
||||
t1=(diag(Y.*cos(mat_AngleIJ)*Volt')-diag(Volt)*Y.*cos(mat_INV_AngleIJ) )*diag(yQ);
|
||||
t2=+diag( diag(Volt)*yQ' )*Y.*cos(mat_AngleIJ)-diag(Y.*cos(mat_INV_AngleIJ)*diag(Volt)*yQ');
|
||||
ddQdVdT=t1+t2;
|
||||
t1=Y.*cos(mat_INV_AngleIJ)*diag(diag(Volt)*yQ');
|
||||
t2=diag(yQ)*diag(Y.*cos(mat_AngleIJ)*Volt');
|
||||
t3=-diag(Y.*cos(mat_INV_AngleIJ)*diag(Volt)*yQ');
|
||||
t4=-diag(yQ)*Y.*cos(mat_AngleIJ)*diag(Volt);
|
||||
ddQdTdV=t1+t2+t3+t4;
|
||||
t1=Y.*sin(mat_INV_AngleIJ)*diag(yQ);
|
||||
t2=diag(yQ)*Y.*sin(mat_AngleIJ);
|
||||
ddQdVdV=t1+t2;
|
||||
t=[ddPdVdV+ddQdVdV,ddPdTdV+ddQdTdV ;
|
||||
ddPdVdT+ddQdVdT,ddPdTdT+ddQdTdT;
|
||||
];
|
||||
ddh=t;
|
||||
sizePGi=size(PGi,1);
|
||||
sizePVi=size(PVi,1);
|
||||
sizeLoadi=size(Loadi,1);
|
||||
ddh=[
|
||||
sparse(sizePGi+sizePVi+sizeLoadi,ContrlCount);
|
||||
sparse(2*Busnum,sizePVi+sizePGi+sizeLoadi),-t;
|
||||
];
|
||||
end
|
||||
Reference in New Issue
Block a user