ncp_sigmoid/Sigmoid函数法/snd_Constant.m

62 lines
3.2 KiB
Mathematica
Raw Permalink Normal View History

function [const,Lz,Lw,L1,U1]=snd_Constant(nodeNum,opfGoal,lineNum,transNum,transI,transJ,transG,transB,lineI,lineJ,balNode,mu,G,B,GIJ,BIJ,e,f,Pmin,Pmax,...
a,b,PG,QR,pvQmin,pvQmax,pgNum,pgvNum,xNum,pgNode,pvNode,dhx,dgx,L1,U1,LZ,UW,l,u,y,r,dT_Zt,capNum,hx,Vmax,Vmin,Zt,Zb,bei,mu0,oneTrans,oneCap)
%<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ܣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>̣<EFBFBD><EFBFBD>γ<EFBFBD><EFBFBD>Ŷ<EFBFBD>KKT<EFBFBD><EFBFBD><EFBFBD>̲<EFBFBD>ƽ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
%<EFBFBD><EFBFBD>дʱ<EFBFBD>2010<EFBFBD><EFBFBD>10<EFBFBD><EFBFBD>
%% <EFBFBD>γ<EFBFBD>Ŀ<EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><EFBFBD>ƫ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>f(.)
if(opfGoal==2)
dPG=ones(pgNum,1);
dfx=sparse(transNum+1:transNum+pgNum,ones(pgNum,1),dPG,xNum,1);
else if(opfGoal==1)
dPG=2*a(pgNode).*PG(pgNode)+b(pgNode);
dfx=sparse(transNum+1:transNum+pgNum,ones(pgNum,1),dPG,xNum,1);
else if(opfGoal==3)
dfT=-transG.*dT_Zt.*((f(transI)-f(transJ)).^2+(e(transI)-e(transJ)).^2);
dfPQ=zeros(pgvNum,1);
dfcapK=zeros(capNum,1);
EE=e*ones(1,nodeNum);
FF=f*ones(1,nodeNum);
dfe=2*sum(G.*(EE-EE'));
dff=2*sum(G.*(FF-FF'));
dfx=[dfT;dfPQ;dfcapK;dfe';dff'];
else if(opfGoal==4)
dfT=transB.*dT_Zt.*((f(transI)-f(transJ)).^2+(e(transI)-e(transJ)).^2);
dfPQ=zeros(pgvNum,1);
dfcapK=zeros(capNum,1);
EE=e*ones(1,nodeNum);
FF=f*ones(1,nodeNum);
dfe=-2*sum(B.*(EE-EE'));
dff=-2*sum(B.*(FF-FF'));
dfx=[dfT;dfPQ;dfcapK;dfe';dff'];
end
end
end
end
%% <EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʽԼ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
tmp=1;
Zbmin=-tmp*bei*mu0*oneCap; %<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Zt<EFBFBD><EFBFBD>Zb<EFBFBD><EFBFBD>ȡֵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڶ<EFBFBD><EFBFBD>Ȳ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ<EFBFBD><EFBFBD>һ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȡ20<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Zt<EFBFBD><EFBFBD>Zbȡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ<EFBFBD>Ѿ<EFBFBD><EFBFBD>dz<EFBFBD><EFBFBD>ӽ<EFBFBD>0<EFBFBD><EFBFBD><EFBFBD><EFBFBD>1<EFBFBD><EFBFBD>
Zbmax=tmp*bei*mu0*oneCap; %<EFBFBD><EFBFBD>ȫ<EFBFBD><EFBFBD><EFBFBD>Ա<EFBFBD>֤<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ<EFBFBD>ڣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ܲ<EFBFBD>Ӱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ա<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Zt<EFBFBD><EFBFBD>Zb<EFBFBD>ľ<EFBFBD><EFBFBD><EFBFBD>ֵȡֵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
Ztmin=-tmp*bei*mu0*oneTrans; %ʹ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɢ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>̶<EFBFBD><EFBFBD><EFBFBD>0<EFBFBD><EFBFBD>1<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
Ztmax=tmp*bei*mu0*oneTrans;
gxT=Zt;
gxTx=Ztmin;
gxTs=Ztmax;
gxv=[PG(pgNode);QR(pvNode);Zb;e.^2+f.^2]; %Լ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǰֵ
gxvx=[Pmin(pgNode);pvQmin(pvNode);Zbmin;Vmin.*Vmin]; %Լ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
gxvs=[Pmax(pgNode);pvQmax(pvNode);Zbmax;Vmax.*Vmax]; %Լ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
gxl=(e(lineI).*e(lineI)+f(lineI).*f(lineI)-e(lineI).*e(lineJ)-f(lineI).*f(lineJ)).*GIJ+(e(lineI).*f(lineJ)-e(lineJ).*f(lineI)).*BIJ;%<EFBFBD><EFBFBD>·<EFBFBD><EFBFBD><EFBFBD>ʵ<EFBFBD>ǰֵ
gxlx=-ones(lineNum,1)*1000; %<EFBFBD><EFBFBD>·Լ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
gxls=ones(lineNum,1)*1000; %<EFBFBD><EFBFBD>·Լ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
gx=[gxT;gxv;gxl]; %<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Լ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
gxx=[gxTx;gxvx;gxlx];
gsx=[gxTs;gxvs;gxls];
Lz=gx-l-gxx;
Lw=gx+u-gsx;
%% <EFBFBD>γ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>̳<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
muUL=mu*(U1-L1);
BB1=UW*Lw-LZ*Lz-muUL*ones(r,1);
BB=dhx*y-dfx+dgx*BB1; %<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>̳<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(.,<EFBFBD><EFBFBD>)
BB(transNum+pgvNum+capNum+nodeNum+balNode,1)=0; %<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƽ<EFBFBD><EFBFBD><EFBFBD>ڵ<EFBFBD><EFBFBD><EFBFBD>ѹ<EFBFBD>鲿<EFBFBD><EFBFBD><EFBFBD>ʼ<EFBFBD><EFBFBD>Ϊ0<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƽ<EFBFBD><EFBFBD><EFBFBD>ڵ<EFBFBD><EFBFBD>0
BB(transNum+pgvNum+capNum+balNode,1)=0; %<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƽ<EFBFBD><EFBFBD><EFBFBD>ڵ<EFBFBD><EFBFBD><EFBFBD>ѹʵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
const=[BB;hx]; %<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>̳<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>