⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 fm_flows.m

📁 基于PSAT 软件的多目标最优潮流计算用于中小型电力系统的分析和管理
💻 M
📖 第 1 页 / 共 2 页
字号:
  gi = real(yi);  bi = imag(yi);  gj = real(yj);  bj = imag(yj);  vi = DAE.V(i);  vj = DAE.V(j);  vij = vi.*vj;  vi2 = vi.*vi;  vj2 = vj.*vj;  ka1 = ga.*cij-ba.*sij;  ka2 = ba.*cij+ga.*sij;  kb1 = gb.*cij+bb.*sij;  kb2 = bb.*cij-gb.*sij;  refij = gi.*vi2 - ka1.*vij;  imfij = bi.*vi2 - ka2.*vij;  refji = gi.*vj2 - kb1.*vij;  imfji = bi.*vj2 - kb2.*vij;  Fij = refij.*refij + imfij.*imfij;  Fji = refji.*refji + imfji.*imfji;  % ==========================================================================  % Jacobian matrix of the AC apparent power flows from bus i to bus j  % ==========================================================================  drefijdvi =  2*gi.*vi - ka1.*vj;  drefijdvj = -ka1.*vi;  drefijdti =  ka2.*vij;  drefijdtj = -ka2.*vij;  dimfijdvi =  2*bi.*vi - ka2.*vj;  dimfijdvj = -ka2.*vi;  dimfijdti = -ka1.*vij;  dimfijdtj =  ka1.*vij;  drefjidvj =  2*gj.*vj - kb1.*vi;  drefjidvi = -kb1.*vj;  drefjidti = -kb2.*vij;  drefjidtj =  kb2.*vij;  dimfjidvj =  2*bj.*vj - kb2.*vi;  dimfjidvi = -kb2.*vj;  dimfjidti =  kb1.*vij;  dimfjidtj = -kb1.*vij;  Jij = [sparse(nl,Line.from, 2*(refij.*drefijdti+imfij.*dimfijdti), Line.n,Bus.n)- ...         sparse(nl,Line.to,   2*(refij.*drefijdti+imfij.*dimfijdti), Line.n,Bus.n), ...         sparse(nl,Line.from, 2*(refij.*drefijdvi+imfij.*dimfijdvi), Line.n,Bus.n)+ ...         sparse(nl,Line.to,   2*(refij.*drefijdvj+imfij.*dimfijdvj), Line.n,Bus.n)];  Jji = [sparse(nl,Line.from, 2*(refji.*drefjidti+imfji.*dimfjidti), Line.n,Bus.n)- ...         sparse(nl,Line.to,   2*(refji.*drefjidti+imfji.*dimfjidti), Line.n,Bus.n), ...         sparse(nl,Line.from, 2*(refji.*drefjidvi+imfji.*dimfjidvi), Line.n,Bus.n)+ ...         sparse(nl,Line.to,   2*(refji.*drefjidvj+imfji.*dimfjidvj), Line.n,Bus.n)];  % ==========================================================================  % Hessian matrix of the AC apparent power flows from bus i to bus j  % ==========================================================================  % - - - - - - - - - - - - - - - - - - -  d2refijdvidvi =  2*gi;  d2refijdvidvj = -ka1;  d2refijdvidti =  ka2.*vj;  d2refijdvidtj = -ka2.*vj;  d2refijdvjdvi = -ka1;  d2refijdvjdvj =  zeros(Line.n,1);  d2refijdvjdti =  ka2.*vi;  d2refijdvjdtj = -ka2.*vi;  d2refijdtidvi =  ka2.*vj;  d2refijdtidvj =  ka2.*vi;  d2refijdtidti =  ka1.*vij;  d2refijdtidtj = -ka1.*vij;  d2refijdtjdvi = -ka2.*vj;  d2refijdtjdvj = -ka2.*vi;  d2refijdtjdti = -ka1.*vij;  d2refijdtjdtj =  ka1.*vij;  % - - - - - - - - - - - - - - - - - - -  % - - - - - - - - - - - - - - - - - - -  d2imfijdvidvi =  2*bi;  d2imfijdvidvj = -ka2;  d2imfijdvidti = -ka1.*vj;  d2imfijdvidtj =  ka1.*vj;  d2imfijdvjdvi = -ka2;  d2imfijdvjdvj =  zeros(Line.n,1);  d2imfijdvjdti = -ka1.*vi;  d2imfijdvjdtj =  ka1.*vi;  d2imfijdtidvi = -ka1.*vj;  d2imfijdtidvj = -ka1.*vi;  d2imfijdtidti =  ka2.*vij;  d2imfijdtidtj = -ka2.*vij;  d2imfijdtjdvi =  ka1.*vj;  d2imfijdtjdvj =  ka1.*vi;  d2imfijdtjdti = -ka2.*vij;  d2imfijdtjdtj =  ka2.*vij;  % - - - - - - - - - - - - - - - - - - -  % - - - - - - - - - - - - - - - - - - -  d2refjidvjdvj =  2*gj;  d2refjidvjdvi = -kb1;  d2refjidvjdti = -kb2.*vi;  d2refjidvjdtj =  kb2.*vi;  d2refjidvidvj = -kb1;  d2refjidvidvi =  zeros(Line.n,1);  d2refjidvidti = -kb2.*vj;  d2refjidvidtj =  kb2.*vj;  d2refjidtidvi = -kb2.*vj;  d2refjidtidvj = -kb2.*vi;  d2refjidtidti =  kb1.*vij;  d2refjidtidtj = -kb1.*vij;  d2refjidtjdvi =  kb2.*vj;  d2refjidtjdvj =  kb2.*vi;  d2refjidtjdti = -kb1.*vij;  d2refjidtjdtj =  kb1.*vij;  % - - - - - - - - - - - - - - - - - - -  % - - - - - - - - - - - - - - - - - - -  d2imfjidvjdvj =  2*bj;  d2imfjidvjdvi = -kb2;  d2imfjidvjdti =  kb1.*vi;  d2imfjidvjdtj = -kb1.*vi;  d2imfjidvidvj = -kb2;  d2imfjidvidvi =  zeros(Line.n,1);  d2imfjidvidti =  kb1.*vj;  d2imfjidvidtj = -kb1.*vj;  d2imfjidtidvi =  kb1.*vj;  d2imfjidtidvj =  kb1.*vi;  d2imfjidtidti =  kb2.*vij;  d2imfjidtidtj = -kb2.*vij;  d2imfjidtjdvi = -kb1.*vj;  d2imfjidtjdvj = -kb1.*vi;  d2imfjidtjdti = -kb2.*vij;  d2imfjidtjdtj =  kb2.*vij;  % - - - - - - - - - - - - - - - - - - -  % - - - - - - - - - - - - - - - - - - -  rehijtiti =  2*mu1.*(drefijdti.*drefijdti+refij.*d2refijdtidti);  rehijtitj =  2*mu1.*(drefijdti.*drefijdtj+refij.*d2refijdtidtj);  rehijtjti =  2*mu1.*(drefijdtj.*drefijdti+refij.*d2refijdtjdti);  rehijtjtj =  2*mu1.*(drefijdtj.*drefijdtj+refij.*d2refijdtjdtj);  rehijtivi =  2*mu1.*(drefijdti.*drefijdvi+refij.*d2refijdtidvi);  rehijtivj =  2*mu1.*(drefijdti.*drefijdvj+refij.*d2refijdtidvj);  rehijtjvi =  2*mu1.*(drefijdtj.*drefijdvi+refij.*d2refijdtjdvi);  rehijtjvj =  2*mu1.*(drefijdtj.*drefijdvj+refij.*d2refijdtjdvj);  rehijviti =  2*mu1.*(drefijdvi.*drefijdti+refij.*d2refijdvidti);  rehijvitj =  2*mu1.*(drefijdvi.*drefijdtj+refij.*d2refijdvidtj);  rehijvjti =  2*mu1.*(drefijdvj.*drefijdti+refij.*d2refijdvjdti);  rehijvjtj =  2*mu1.*(drefijdvj.*drefijdtj+refij.*d2refijdvjdtj);  rehijvivi =  2*mu1.*(drefijdvi.*drefijdvi+refij.*d2refijdvidvi);  rehijvivj =  2*mu1.*(drefijdvi.*drefijdvj+refij.*d2refijdvidvj);  rehijvjvi =  2*mu1.*(drefijdvj.*drefijdvi+refij.*d2refijdvjdvi);  rehijvjvj =  2*mu1.*(drefijdvj.*drefijdvj+refij.*d2refijdvjdvj);  % - - - - - - - - - - - - - - - - - - -  % - - - - - - - - - - - - - - - - - - -  imhijtiti =  2*mu1.*(dimfijdti.*dimfijdti+imfij.*d2imfijdtidti);  imhijtitj =  2*mu1.*(dimfijdti.*dimfijdtj+imfij.*d2imfijdtidtj);  imhijtjti =  2*mu1.*(dimfijdtj.*dimfijdti+imfij.*d2imfijdtjdti);  imhijtjtj =  2*mu1.*(dimfijdtj.*dimfijdtj+imfij.*d2imfijdtjdtj);  imhijtivi =  2*mu1.*(dimfijdvi.*dimfijdti+imfij.*d2imfijdtidvi);  imhijtivj =  2*mu1.*(dimfijdvj.*dimfijdti+imfij.*d2imfijdtidvj);  imhijtjvi =  2*mu1.*(dimfijdvi.*dimfijdtj+imfij.*d2imfijdtjdvi);  imhijtjvj =  2*mu1.*(dimfijdvj.*dimfijdtj+imfij.*d2imfijdtjdvj);  imhijviti =  2*mu1.*(dimfijdvi.*dimfijdti+imfij.*d2imfijdvidti);  imhijvitj =  2*mu1.*(dimfijdvi.*dimfijdtj+imfij.*d2imfijdvidtj);  imhijvjti =  2*mu1.*(dimfijdvj.*dimfijdti+imfij.*d2imfijdvjdti);  imhijvjtj =  2*mu1.*(dimfijdvj.*dimfijdtj+imfij.*d2imfijdvjdtj);  imhijvivi =  2*mu1.*(dimfijdvi.*dimfijdvi+imfij.*d2imfijdvidvi);  imhijvivj =  2*mu1.*(dimfijdvi.*dimfijdvj+imfij.*d2imfijdvidvj);  imhijvjvi =  2*mu1.*(dimfijdvj.*dimfijdvi+imfij.*d2imfijdvjdvi);  imhijvjvj =  2*mu1.*(dimfijdvj.*dimfijdvj+imfij.*d2imfijdvjdvj);  % - - - - - - - - - - - - - - - - - - -  % - - - - - - - - - - - - - - - - - - -  rehjititi =  2*mu2.*(drefjidti.*drefjidti+refji.*d2refjidtidti);  rehjititj =  2*mu2.*(drefjidti.*drefjidtj+refji.*d2refjidtidtj);  rehjitjti =  2*mu2.*(drefjidtj.*drefjidti+refji.*d2refjidtjdti);  rehjitjtj =  2*mu2.*(drefjidtj.*drefjidtj+refji.*d2refjidtjdtj);  rehjitivi =  2*mu2.*(drefjidvi.*drefjidti+refji.*d2refjidtidvi);  rehjitivj =  2*mu2.*(drefjidvj.*drefjidti+refji.*d2refjidtidvj);  rehjitjvi =  2*mu2.*(drefjidvi.*drefjidtj+refji.*d2refjidtjdvi);  rehjitjvj =  2*mu2.*(drefjidvj.*drefjidtj+refji.*d2refjidtjdvj);  rehjiviti =  2*mu2.*(drefjidvi.*drefjidti+refji.*d2refjidvidti);  rehjivitj =  2*mu2.*(drefjidvi.*drefjidtj+refji.*d2refjidvidtj);  rehjivjti =  2*mu2.*(drefjidvj.*drefjidti+refji.*d2refjidvjdti);  rehjivjtj =  2*mu2.*(drefjidvj.*drefjidtj+refji.*d2refjidvjdtj);  rehjivivi =  2*mu2.*(drefjidvi.*drefjidvi+refji.*d2refjidvidvi);  rehjivivj =  2*mu2.*(drefjidvi.*drefjidvj+refji.*d2refjidvidvj);  rehjivjvi =  2*mu2.*(drefjidvj.*drefjidvi+refji.*d2refjidvjdvi);  rehjivjvj =  2*mu2.*(drefjidvj.*drefjidvj+refji.*d2refjidvjdvj);  % - - - - - - - - - - - - - - - - - - -  % - - - - - - - - - - - - - - - - - - -  imhjititi =  2*mu2.*(dimfjidti.*dimfjidti+imfji.*d2imfjidtidti);  imhjititj =  2*mu2.*(dimfjidti.*dimfjidtj+imfji.*d2imfjidtidtj);  imhjitjti =  2*mu2.*(dimfjidtj.*dimfjidti+imfji.*d2imfjidtjdti);  imhjitjtj =  2*mu2.*(dimfjidtj.*dimfjidtj+imfji.*d2imfjidtjdtj);  imhjitivi =  2*mu2.*(dimfjidvi.*dimfjidti+imfji.*d2imfjidtidvi);  imhjitivj =  2*mu2.*(dimfjidvj.*dimfjidti+imfji.*d2imfjidtidvj);  imhjitjvi =  2*mu2.*(dimfjidvi.*dimfjidtj+imfji.*d2imfjidtjdvi);  imhjitjvj =  2*mu2.*(dimfjidvj.*dimfjidtj+imfji.*d2imfjidtjdvj);  imhjiviti =  2*mu2.*(dimfjidvi.*dimfjidti+imfji.*d2imfjidvidti);  imhjivitj =  2*mu2.*(dimfjidvi.*dimfjidtj+imfji.*d2imfjidvidtj);  imhjivjti =  2*mu2.*(dimfjidvj.*dimfjidti+imfji.*d2imfjidvjdti);  imhjivjtj =  2*mu2.*(dimfjidvj.*dimfjidtj+imfji.*d2imfjidvjdtj);  imhjivivi =  2*mu2.*(dimfjidvi.*dimfjidvi+imfji.*d2imfjidvidvi);  imhjivivj =  2*mu2.*(dimfjidvi.*dimfjidvj+imfji.*d2imfjidvidvj);  imhjivjvi =  2*mu2.*(dimfjidvj.*dimfjidvi+imfji.*d2imfjidvjdvi);  imhjivjvj =  2*mu2.*(dimfjidvj.*dimfjidvj+imfji.*d2imfjidvjdvj);  % - - - - - - - - - - - - - - - - - - -  Hij = [sparse(Line.from,Line.from,rehijtiti+imhijtiti,Bus.n, Bus.n) + ...         sparse(Line.from,Line.to,  rehijtitj+imhijtitj,Bus.n, Bus.n) + ...         sparse(Line.to,  Line.from,rehijtjti+imhijtjti,Bus.n, Bus.n) + ...         sparse(Line.to,  Line.to,  rehijtjtj+imhijtjtj,Bus.n, Bus.n), ...         sparse(Line.from,Line.from,rehijtivi+imhijtivi,Bus.n, Bus.n) + ...         sparse(Line.from,Line.to,  rehijtivj+imhijtivj,Bus.n, Bus.n) + ...         sparse(Line.to,  Line.from,rehijtjvi+imhijtjvi,Bus.n, Bus.n) + ...         sparse(Line.to,  Line.to,  rehijtjvj+imhijtjvj,Bus.n, Bus.n); ...         sparse(Line.from,Line.from,rehijviti+imhijviti,Bus.n, Bus.n) + ...         sparse(Line.from,Line.to,  rehijvitj+imhijvitj,Bus.n, Bus.n) + ...         sparse(Line.to,  Line.from,rehijvjti+imhijvjti,Bus.n, Bus.n) + ...         sparse(Line.to,  Line.to,  rehijvjtj+imhijvjtj,Bus.n, Bus.n), ...         sparse(Line.from,Line.from,rehijvivi+imhijvivi,Bus.n, Bus.n) + ...         sparse(Line.from,Line.to,  rehijvivj+imhijvivj,Bus.n, Bus.n) + ...         sparse(Line.to,  Line.from,rehijvjvi+imhijvjvi,Bus.n, Bus.n) + ...         sparse(Line.to,  Line.to,  rehijvjvj+imhijvjvj,Bus.n, Bus.n)];  Hji = [sparse(Line.from,Line.from,rehjititi+imhjititi,Bus.n, Bus.n) + ...         sparse(Line.from,Line.to,  rehjititj+imhjititj,Bus.n, Bus.n) + ...         sparse(Line.to,  Line.from,rehjitjti+imhjitjti,Bus.n, Bus.n) + ...         sparse(Line.to,  Line.to,  rehjitjtj+imhjitjtj,Bus.n, Bus.n), ...         sparse(Line.from,Line.from,rehjitivi+imhjitivi,Bus.n, Bus.n) + ...         sparse(Line.from,Line.to,  rehjitivj+imhjitivj,Bus.n, Bus.n) + ...         sparse(Line.to,  Line.from,rehjitjvi+imhjitjvi,Bus.n, Bus.n) + ...         sparse(Line.to,  Line.to,  rehjitjvj+imhjitjvj,Bus.n, Bus.n); ...         sparse(Line.from,Line.from,rehjiviti+imhjiviti,Bus.n, Bus.n) + ...         sparse(Line.from,Line.to,  rehjivitj+imhjivitj,Bus.n, Bus.n) + ...         sparse(Line.to,  Line.from,rehjivjti+imhjivjti,Bus.n, Bus.n) + ...         sparse(Line.to,  Line.to,  rehjivjtj+imhjivjtj,Bus.n, Bus.n), ...         sparse(Line.from,Line.from,rehjivivi+imhjivivi,Bus.n, Bus.n) + ...         sparse(Line.from,Line.to,  rehjivivj+imhjivivj,Bus.n, Bus.n) + ...         sparse(Line.to,  Line.from,rehjivjvi+imhjivjvi,Bus.n, Bus.n) + ...         sparse(Line.to,  Line.to,  rehjivjvj+imhjivjvj,Bus.n, Bus.n)];end

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -