莫言wan 发表于 2013-7-7 15:10:59

关于matpower中目标函数修改的问题

如何修改matpower的目标函数或者重建一个目标函数重新运行一下?求大神指教!!!

redplum 发表于 2013-7-7 15:52:14

有没有例程贴上来看一下

qcsun 发表于 2013-7-9 10:11:13

你要把它的程序读懂,相应部分都要修改的

莫言wan 发表于 2013-7-10 10:32:27

回复 2# redplum


    首先谢谢指教
下面是这个程序,指教一下那里需要修改啊clear;clc;errArr=[];%%%³õʼ»¯£¡£¡£¡initial;% Start clockt1 = clock;%%ROU=sl'*MU_MIN+su'*MU_MAX;MUt=SIGMA*ROU/(2*length(sl));%³õʼ¶ÔżÒò×ÓÓë³Í·£Òò×Ó¼ÆËã%ik=0;%¼Æµü´ú´ÎÊý£¡£¡£¡%µü´úÑ »·¹ý³Ì£¡£¡while(abs(ROU)>=err)
%%
%Calcute h,g matrix    ROU=sl'*MU_MIN+su'*MU_MAX;      errArr=;    SIGMA=0;    MU=SIGMA*ROU/(2*length(sl));         %ÖÐÐIJÎÊýÖÃÁã%
for i=1:30      temp=0;
for j=1:30            temp=temp-V(j)*aY(i,j)*cos(Vth(i)-Vth(j)-Yth(i,j));
end
if (i>6)             tPg=0;
else            tPg=Pg(i);
end      h(i)=tPg-Pd(i)+V(i)*temp;
end
for i=1:30      temp=0;
for j=1:30            temp=temp-V(j)*aY(i,j)*sin(Vth(i)-Vth(j)-Yth(i,j));
end
if (i>6)             tQg=0;
else            tQg=Qg(i);
end      h(i+30)=tQg-Qd(i)+V(i)*temp;
end
% Calh END

for i=1:6      g(i)=Pg(i);      g(i+6)=Qg(i);
end
for i=1:30      g(i+12)=V(i);
end
% CalgEND
%Calcute h,g matrix END
%%
%Calculate Jacobian&Hessian matix
%First Step: Jf,Hf
for i=1:6      Jf(i)=2*gencost(i,5)*Pg(i)+gencost(i,6);      Hf(i,i)=2*gencost(i,6);
end
%Second Step: Jh, hΪµÈʽԼÊø
for i=1:6         %Ç°6ÐжÔPgÇóµ¼£¬ÓÉ´ËÒÑÇó³ö      Jh(i,i)=1;
end
for i=7:12      %7-12ÐжÔQgÇóµ¼£¬ÓÉ´ËÒÑÇó³ö      Jh(i,i+24)=1;
end
for i=1:30       %ÐγÉ13-42ÐеÄ1-60ÁÐ
for j=1:30            tempVp=0;            tempVq=0;
if (j==i)
for k=1:30                  tempVp=tempVp-V(k)*aY(j,k)*cos(Vth(j)-Vth(k)-Yth(j,k));                  tempVq=tempVq-V(k)*aY(j,k)*sin(Vth(j)-Vth(k)-Yth(j,k));
end                Jh(12+j,i)=tempVp-aY(j,j)*V(j)*cos(Yth(j,j));                Jh(12+j,30+i)=tempVq+aY(j,j)*V(j)*sin(Yth(j,j));
else                Jh(12+j,i)=-aY(i,j)*V(i)*cos(Vth(i)-Vth(j)-Yth(i,j));                Jh(12+j,30+i)=-aY(i,j)*V(i)*sin(Vth(i)-Vth(j)-Yth(i,j));
end
end
end
for i=1:30       %ÐγÉ43-72ÐеÄ1-60ÁÐ
for j=1:30            tempVp=0;            tempVq=0;
if (j==i)
for k=1:30                  tempVp=tempVp+aY(j,k)*V(k)*sin(Vth(j)-Vth(k)-Yth(j,k));                  tempVq=tempVq-aY(j,k)*V(k)*cos(Vth(j)-Vth(k)-Yth(j,k));
end                tempVp=tempVp-V(j)*aY(j,j)*sin(-Yth(j,j));                tempVq=tempVq+V(j)*aY(j,j)*cos(-Yth(j,j));                Jh(42+j,i)=V(i)*tempVp;                Jh(42+j,30+i)=V(i)*tempVq;
else                Jh(42+j,i)=-aY(i,j)*V(i)*V(j)*sin(Vth(i)-Vth(j)-Yth(i,j));                Jh(42+j,30+i)=aY(i,j)*V(i)*V(j)*cos(Vth(i)-Vth(j)-Yth(i,j));
end
end
end
%Third Step: Hh
%Óй¦²¿·Ö
for i=1:30
for j=1:30
for k=j:30
if (j==k&&i~=j)                   Hh(j+12,k+12,i)=0;          %VV                  Hh(j+42,k+42,i)=V(i)*aY(i,j)*V(j)*cos(Vth(i)-Vth(j)-Yth(i,j)); %%thth
elseif (j==k&&i==j)                  Hh(j+12,k+12,i)=-2*aY(j,j)*cos(Yth(i,i));%VV                  temp=0;                   %thth
for l=1:30                        temp=temp+aY(j,l)*V(l)*cos(Vth(j)-Vth(l)-Yth(j,l));
end                  temp=temp-aY(i,i)*V(i)*cos(-Yth(i,i));                  Hh(j+42,k+42,i)=V(i)*temp;
elseif (k==i)                  Hh(j+12,k+12,i)=-aY(i,j)*cos(Vth(i)-Vth(j)-Yth(i,j));    %VV                  Hh(k+12,j+12,i)=Hh(j+12,k+12,i);                  Hh(j+42,k+42,i)=-V(i)*aY(i,j)*V(j)*cos(Vth(i)-Vth(j)-Yth(i,j));%thth                  Hh(k+42,j+42,i)=Hh(j+42,k+42,i);
elseif (j==i)                  Hh(j+12,k+12,i)=-aY(i,k)*cos(Vth(i)-Vth(k)-Yth(i,k));    %VV                  Hh(k+12,j+12,i)=Hh(j+12,k+12,i);                  Hh(j+42,k+42,i)=-V(i)*aY(i,k)*V(k)*cos(Vth(i)-Vth(k)-Yth(i,k));%thth                  Hh(k+42,j+42,i)=Hh(j+42,k+42,i);
end
end
end
end
%ÖÁ´ËÒÑÐγɣ¨13-42£¬13-42£©ºÍ£¨42-72£¬43-72£©
for i=1:30
for j=1:30
for k=1:30
if (j==k&&i~=j)                   Hh(j+42,k+12,i)=-V(i)*aY(i,j)*sin(Vth(i)-Vth(j)-Yth(i,j));      %thV
elseif (j==k&&i==j)                  temp=0;                   %thV
for l=1:30                        temp=temp+aY(j,l)*V(l)*sin(Vth(j)-Vth(l)-Yth(j,l));   
end                  Hh(j+42,k+12,i)=temp-V(i)*aY(i,i)*sin(-Yth(i,i));
elseif (j==i)                  Hh(j+42,k+12,i)=V(i)*aY(i,k)*sin(Vth(i)-Vth(k)-Yth(i,k));   %thV   
elseif (k==i)                  Hh(j+42,k+12,i)=-V(j)*aY(i,j)*sin(Vth(i)-Vth(j)-Yth(i,j));%thV
end
end
end      Hh(13:42,43:72,i)=Hh(43:72,13:42,i)';
end
%ÖÁ´ËÒÑÐγɣ¨42-72£¬13-42£©ºÍ£¨13-42£¬43-72£©
%ÎÞ¹¦²¿·Ö
for i=1:30
for j=1:30
for k=j:30
if (j==k&&i~=j)                   Hh(j+12,k+12,i+30)=0;          %VV                  Hh(j+42,k+42,i+30)=V(i)*aY(i,j)*V(j)*sin(Vth(i)-Vth(j)-Yth(i,j)); %%thth
elseif (j==k&&i==j)                  Hh(j+12,k+12,i+30)=2*aY(j,j)*sin(Yth(i,i));%VV                  temp=0;                   %thth
for l=1:30                        temp=temp+aY(j,l)*V(l)*sin(Vth(j)-Vth(l)-Yth(j,l));
end                  temp=temp-aY(i,i)*V(i)*sin(-Yth(i,i));                  Hh(j+42,k+42,i+30)=V(i)*temp;
elseif (k==i)                  Hh(j+12,k+12,i+30)=-aY(i,j)*sin(Vth(i)-Vth(j)-Yth(i,j));    %VV                  Hh(k+12,j+12,i+30)=Hh(j+12,k+12,i+30);                  Hh(j+42,k+42,i)=-V(i)*aY(i,j)*V(j)*sin(Vth(i)-Vth(j)-Yth(i,j));%thth                  Hh(k+42,j+42,i+30)=Hh(j+42,k+42,i+30);
elseif (j==i)                  Hh(j+12,k+12,i+30)=-aY(i,k)*sin(Vth(i)-Vth(k)-Yth(i,k));    %VV                  Hh(k+12,j+12,i+30)=Hh(j+12,k+12,i+30);                  Hh(j+42,k+42,i+30)=-V(i)*aY(i,k)*V(k)*sin(Vth(i)-Vth(k)-Yth(i,k));%thth                  Hh(k+42,j+42,i+30)=Hh(j+42,k+42,i+30);
end
end
end
end
%ÖÁ´ËÒÑÐγɣ¨13-42£¬13-42£©ºÍ£¨42-72£¬43-72£©
for i=1:30
for j=1:30
for k=1:30
if (j==k&&i~=j)                   Hh(j+42,k+12,i+30)=V(i)*aY(i,j)*cos(Vth(i)-Vth(j)-Yth(i,j));      %thV
elseif (j==k&&i==j)                  temp=0;                   %thV
for l=1:30                        temp=temp-aY(j,l)*V(l)*cos(Vth(j)-Vth(l)-Yth(j,l));   
end                  Hh(j+42,k+12,i+30)=temp+V(i)*aY(i,i)*cos(-Yth(i,i));
elseif (j==i)                  Hh(j+42,k+12,i+30)=-V(i)*aY(i,k)*cos(Vth(i)-Vth(k)-Yth(i,k));   %thV   
elseif (k==i)                  Hh(j+42,k+12,i+30)=V(j)*aY(i,j)*cos(Vth(i)-Vth(j)-Yth(i,j));%thV
end
end
end      Hh(13:42,43:72,i+30)=Hh(43:72,13:42,i+30)';
end
%ÖÁ´ËÒÑÐγɣ¨42-72£¬13-42£©ºÍ£¨13-42£¬43-72£©
%HhÐγÉÍê±Ï
%Fourth Step: Jg, Hg    Jg=eye(42,42);    Jg=;    Hg=zeros(72);
%Calculation Jacobian&Hessian matrix END
%%
%Calculate Newton Iteration Îó²îµü´úÁ¿
%Cal LX0-------------------------1    LX0=Jf-Jh*Lam+Jg*(-MU_MIN+MU_MAX);
%Cal LLam-------------------------2    LLam0=h;    pferr=max(LLam0);
%Cal LMU_MIN-------------------------3    LMU_MIN0=g-sl-gmin;
%Cal LMU_MAX-------------------------4    LMU_MAX0=g+su-gmax;
%Cal Lsl-------------------------5    Lsl0=diag(MU_MIN)*diag(sl)*ones(length(sl),1)-MU*ones(length(sl),1);
%CAl Lsu-------------------------6    Lsu0=diag(MU_MAX)*diag(su)*ones(length(su),1)-MU*ones(length(su),1);
%Calculate Newton Iteration Îó²îµü´úÁ¿ END!!!
%%
%Calculate Newton Iteration ·ÂÉäÐÞÕýÁ¿
%1st Step: ·ÂÉäÐÞÕýÁ¿delXaf,·ÂÉäÐÞÕýÁ¿delLamaf
%S1:H   temp=0;%֮ǰÒÑÓùýÁÙʱ±äÁ¿temp£¬ÔÚ´ËÇåÁã
for i=1:60         temp=temp+Lam(i)*Hh(:,:,i);
end   tempgMUg1=0;   tempgMUg1=Jg*diag(MU_MIN)*Jg';
for i=1:42         tempgMUg1(i,:)=tempgMUg1(i,:)/sl(i);      
end   tempgMUg2=0;   tempgMUg2=Jg*diag(MU_MAX)*Jg';
for i=1:42             tempgMUg2(i,:)=tempgMUg2(i,:)/su(i);
end   H=Hf-temp+tempgMUg1+tempgMUg2;
%S2:·ÂÉäKESAaf   tempgMUg1=0;   tempgMUg1=diag(MU_MIN)*sl+diag(MU_MIN)*LMU_MIN0;
for i=1:42         tempgMUg1(i)=tempgMUg1(i)/sl(i);
end   tempgMUg1=Jg*tempgMUg1;   tempgMUg2=0;   tempgMUg2=diag(MU_MAX)*su-diag(MU_MAX)*LMU_MAX0;
for i=1:42             tempgMUg2(i)=tempgMUg2(i)/su(i);
end   tempgMUg2=Jg*tempgMUg2;   KESAaf=LX0+tempgMUg1-tempgMUg2;
%S3:JACOBIAN   JACOBIAN=;
%S4£ºRESULT   RESULT=-;
%S5:Cal ·ÂÉäÐÞÕýÁ¿delXaf,·ÅÉäÐÞÕýÁ¿delLamaf   delXaf=-Jh'\LLam0;   delLamaf=Jh\(H*delXaf+KESAaf);%      temp=JACOBIAN\RESULT;%      for i=1:72%          delX(i)=temp(i);%      end%      for i=1:60%          delLam(i)=temp(i+72);%      end

%2nd Step: ·ÅÉäËɳڱäÁ¿ÐÞÕýÁ¿delslaf, delsuaf
%S1: delslaf   delslaf=Jg'*delXaf+LMU_MIN0;
%S2: delsuaf   delsuaf=-Jg'*delXaf-LMU_MAX0;

%3rd Step: ·ÅÉäÀ ¸ñÀÊÈÕ³Ë×ÓÐÞÕýÁ¿delMU_MINaf,delMU_MAXaf
%S1: delMU_MINaf   temp=0;   temp=-Lsl0-diag(MU_MIN)*delslaf;
for i=1:42         temp(i)=temp(i)/sl(i);
end   temp(13)=0;   delMU_MINaf=temp;
%S2: delMU_MAXaf   temp=0;   temp=-Lsu0-diag(MU_MAX)*delsuaf;
for i=1:42         temp(i)=temp(i)/su(i);
end   temp(13)=0;   delMU_MAXaf=temp;

%Calculate Newton Iteration ·ÂÉäÐÞÕýÁ¿ END!!!!!!!!!!!!!!

%%
%¼ÆËã·ÂÉäÔ Ê¼²½³¤ºÍ¶Ôż²½³¤ STEPpaf£¬ STEPdaf
%S1: STEPpaf
for i=1:42
if (delslaf(i)~=0)            temp1=-sl(i)/delslaf(i);
else            temp1=Inf;
end
if (delsuaf(i)~=0)            temp2=-su(i)/delsuaf(i);
else            temp2=Inf;
end
if temp1<temp2            min=temp1;
else            min=temp2;
end
if min>1            min=1;
end
end    STEPpaf=0.9995*min;
%S2: STEPdaf
for i=1:42      temp1=-MU_MIN(i)/delMU_MINaf(i);      temp2=-MU_MAX(i)/delMU_MAXaf(i);
if temp1<temp2            min=temp1;
else            min=temp2;
end
if (i==13)            min=0;
end
if min>1            min=1;
end
end    STEPdaf=0.9995*min;
%&frac14;&AElig;&Euml;&atilde;·&Acirc;&Eacute;&auml;&Ocirc; &Ecirc;&frac14;&sup2;&frac12;&sup3;¤&ordm;&Iacute;&para;&Ocirc;&Aring;&frac14;&sup2;&frac12;&sup3;¤ STEPp&pound;&not; STEPd END!!!!!

%&frac14;&AElig;&Euml;&atilde;·&Acirc;&Eacute;&auml;&para;&Ocirc;&Aring;&frac14;&Ograve;ò&Ecirc;&yacute;&frac14;°&sup3;&Iacute;·&pound;&Ograve;ò×&Oacute;%   ROUaf=(sl+STEPpaf*delslaf)'*(MU_MIN+STEPdaf*delMU_MINaf)+(su+STEPpaf*delsuaf)'*(MU_MAX+STEPdaf*delMU_MAXaf);
if (ROUaf/ROU)^2<0.2       SIGMA=(ROUaf/ROU)^2;
else       SIGMA=0.2;
end   MUaf=SIGMA*ROUaf/(2*length(sl));
%&frac14;&AElig;&Euml;&atilde;&Iacute;ê±&Iuml;%   Lsl0=diag(MU_MIN)*diag(sl)*ones(length(sl),1)-MUaf*ones(length(sl),1)-diag(delslaf)*delMU_MINaf;   Lsu0=diag(MU_MAX)*diag(su)*ones(length(su),1)-MUaf*ones(length(su),1)-diag(delsuaf)*delMU_MAXaf;
%Calculate Newton Iteration &ETH;&THORN;&Otilde;&yacute;&Aacute;&iquest;
%1st Step: &ETH;&pound;&Otilde;&yacute;&ETH;&THORN;&Otilde;&yacute;&Aacute;&iquest;delX,&ETH;&THORN;&Otilde;&yacute;&Aacute;&iquest;delLam
%S1:H   temp=0;%&Ouml;&reg;&Ccedil;°&Ograve;&Ntilde;&Oacute;&Atilde;&sup1;&yacute;&Aacute;&Ugrave;&Ecirc;±±&auml;&Aacute;&iquest;temp&pound;&not;&Ocirc;&Uacute;&acute;&Euml;&Ccedil;&aring;&Aacute;&atilde;
for i=1:60         temp=temp+Lam(i)*Hh(:,:,i);
end   tempgMUg1=0;   tempgMUg1=Jg*diag(MU_MIN)*Jg';
for i=1:42         tempgMUg1(i,:)=tempgMUg1(i,:)/sl(i);      
end   tempgMUg2=0;   tempgMUg2=Jg*diag(MU_MAX)*Jg';
for i=1:42             tempgMUg2(i,:)=tempgMUg2(i,:)/su(i);
end   H=Hf-temp+tempgMUg1+tempgMUg2;
%S2:&ETH;&pound;&Otilde;&yacute;KESA   tempgMUg1=0;   tempgMUg1=Lsl0+diag(MU_MIN)*LMU_MIN0+diag(delslaf)*delMU_MINaf;
for i=1:42         tempgMUg1(i)=tempgMUg1(i)/sl(i);
end   tempgMUg1=Jg*tempgMUg1;   tempgMUg2=0;   tempgMUg2=Lsu0-diag(MU_MAX)*LMU_MAX0+diag(delsuaf)*delMU_MAXaf;
for i=1:42             tempgMUg2(i)=tempgMUg2(i)/su(i);
end   tempgMUg2=Jg*tempgMUg2;   KESA=LX0+tempgMUg1-tempgMUg2;
%S3:JACOBIAN   JACOBIAN=;
%S4&pound;&ordm;RESULT   RESULT=-;
%S5:Cal &ETH;&pound;&Otilde;&yacute;&ETH;&THORN;&Otilde;&yacute;&Aacute;&iquest;delX,&ETH;&THORN;&Otilde;&yacute;&Aacute;&iquest;delLam   delX=-Jh'\LLam0;   delLam=Jh\(H*delX+KESA);%      temp=JACOBIAN\RESULT;%      for i=1:72%          delX(i)=temp(i);%      end%      for i=1:60%          delLam(i)=temp(i+72);%      end

%2nd Step: &ETH;&pound;&Otilde;&yacute;&Euml;&Eacute;&sup3;&Uacute;±&auml;&Aacute;&iquest;&ETH;&THORN;&Otilde;&yacute;&Aacute;&iquest;delsl, delsu
%S1: delsl   delsl=Jg'*delX+LMU_MIN0;
%S2: delsu   delsu=-Jg'*delX-LMU_MAX0;

%3rd Step: &ETH;&pound;&Otilde;&yacute;&Agrave; &cedil;&ntilde;&Agrave;&Ecirc;&Egrave;&Otilde;&sup3;&Euml;×&Oacute;&ETH;&THORN;&Otilde;&yacute;&Aacute;&iquest;delMU_MIN,delMU_MAX
%S1: delMU_MIN   temp=0;   temp=-diag(MU_MIN)*sl+MUt*ones(42,1)-diag(delMU_MINaf)*delslaf-diag(MU_MIN)*delslaf;
for i=1:42         temp(i)=temp(i)/sl(i);
end   temp(13)=0;   delMU_MIN=temp;
%S2: delMU_MAX   temp=0;   temp=-diag(MU_MAX)*su+MUt*ones(42,1)-diag(delMU_MAXaf)*delsuaf-diag(MU_MAX)*delsuaf;
for i=1:42         temp(i)=temp(i)/su(i);
end   temp(13)=0;   delMU_MAX=temp;

%Calculate Newton Iteration &ETH;&THORN;&Otilde;&yacute;&Aacute;&iquest; END!!!!!!!!!!!!!!
%%
%&frac14;&AElig;&Euml;&atilde;&ETH;&pound;&Otilde;&yacute;&Ocirc; &Ecirc;&frac14;&sup2;&frac12;&sup3;¤&ordm;&Iacute;&para;&Ocirc;&Aring;&frac14;&sup2;&frac12;&sup3;¤ STEPp&pound;&not; STEPd
%S1: STEPp
for i=1:42
if (delslaf(i)~=0)            temp1=-sl(i)/delsl(i);
else            temp1=Inf;
end
if (delsuaf(i)~=0)            temp2=-su(i)/delsu(i);
else            temp2=Inf;
end
if temp1<temp2            min=temp1;
else            min=temp2;
end
if min>1            min=1;
end
end    STEPp=0.9995*min;
%S2: STEPd
for i=1:42      temp1=-MU_MIN(i)/delMU_MIN(i);      temp2=-MU_MAX(i)/delMU_MAX(i);
if temp1<temp2            min=temp1;
else            min=temp2;
end
if (i==13)            min=0;
end
if min>1            min=1;
end
end    STEPd=0.9995*min;
%&cedil;ü&ETH;&Acirc;&Ocirc; &Ecirc;&frac14;±&auml;&Aacute;&iquest;&ordm;&Iacute;&para;&Ocirc;&Aring;&frac14;±&auml;&Aacute;&iquest;   X=X+STEPp*delX;   Lam=Lam+STEPd*delLam;   sl=sl+STEPp*delsl;   su=su+STEPp*delsu;   MU_MIN=MU_MIN+STEPd*delMU_MIN;   MU_MAX=MU_MAX+STEPd*delMU_MAX;   Pg=X(1:6);Qg=X(7:12);V=X(13:42);Vth=X(43:72);
%&cedil;ü&ETH;&Acirc;&Ocirc; &Ecirc;&frac14;±&auml;&Aacute;&iquest;&ordm;&Iacute;&para;&Ocirc;&Aring;&frac14;±&auml;&Aacute;&iquest; END!!!

%&frac14;&AElig;&Euml;&atilde;&para;&Ocirc;&Aring;&frac14;&frac14;&auml;&Iuml;&para;%   ROU=sl'*MU_MIN+su'*MU_MAX;   MUt=SIGMA*ROU/(2*length(sl));
%%
%&Aring;&ETH;&para;&Iuml;&Ecirc;&Ccedil;·&ntilde;&sup3;&not;&sup1;&yacute;&micro;ü&acute;ú&acute;&Icirc;&Ecirc;&yacute;    ik=ik+1;
if ik>IterNumMAX      disp('IterNum ERROR!!!!!');
break;
end
endet = etime(clock, t1);%%%&Ecirc;&auml;&sup3;&ouml;&sup2;&iquest;·&Ouml;
if (ik<=IterNumMAX)
%%
%&Ccedil;ó&micro;&Atilde;×&icirc;&acute;ó×&icirc;&ETH;&iexcl;&micro;&Egrave;&Ecirc;&frac12;&Icirc;ó&sup2;&icirc;    F=0;for i=1:6    F=F+gencost(i,5)*(X(i)*baseMVA)^2+gencost(i,6)*X(i)*baseMVA;end
max=-10;min=10;for i=1:ik    temp=LLam0(i);
if (temp>max) max=temp;
end
if (temp<min) min=temp;
endendmaxik%%%&Ecirc;&auml;&sup3;&ouml;&frac12;á&sup1;&ucirc;    fprintf('\nConverged in %.2f seconds', et);    fprintf('\nObjective Function Value = %.2f $/hr', F);    fprintf('\n================================================================================');    fprintf('\n|   Bus Data                                                               |');    fprintf('\n================================================================================');    fprintf('\n Bus      Voltage          Generation             Load      ');    fprintf('Lambda($/MVA-hr)');    fprintf('\n#   Mag(pu) Ang(deg)   P (MW)   Q (MVAr)   P (MW)   Q (MVAr)');    fprintf('   P      Q   ');     fprintf('\n----- ------- ----------------------------------------');    fprintf('--------------');
for i = 1:30      fprintf('\n%5d%7.3f%9.3f', i,X(i+12),X(i+42)*180/pi);
if (i<=6)            fprintf('%10.2f%10.2f', X(i)*baseMVA, X(i+6)*baseMVA);
else            fprintf('       -         -');
end      fprintf('%10.2f %9.2f', bus(i, 3) , bus(i, 4) );      fprintf('%9.3f %9.3f', Lam(i),Lam(i+30));
if (i==30)            fprintf('\n                        --------------------------------');            fprintf('\n               Total: %9.2f %9.2f',(X(1)+X(2)+X(3)+X(4)+X(5)+X(6))*baseMVA,(X(7)+X(8)+X(9)+X(10)+X(11)+X(12))*baseMVA)            fprintf('\n');
end
end
%%%%&Ecirc;&auml;&sup3;&ouml;&Ccedil;ú&Iuml;&szlig;&Auml;&acirc;&ordm;&Iuml;mainiterNum=';%axis();hold on;f = fit(iterNum,errArr,'spline');f=feval(f,iterNum);plot(iterNum,errArr,'o',iterNum,f,'-');end

莫言wan 发表于 2013-7-10 10:33:53

回复 3# qcsun


    谢谢,忙看一下哪里需要修改嘛,程序在二楼

mingyu 发表于 2013-7-10 20:00:11

没看懂这个是做什么的。

当年依旧 发表于 2013-10-28 15:35:53

matpower里有自带的m文件,直接调用即可
页: [1]
查看完整版本: 关于matpower中目标函数修改的问题

招聘斑竹