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

📄 fm_ncomp.m

📁 基于PSAT 软件的多目标最优潮流计算用于中小型电力系统的分析和管理
💻 M
📖 第 1 页 / 共 2 页
字号:
  Syn.n = length(Syn.con(:,1));  Syn.bus = Bus.int(round(Syn.con(:,1)));  Syn.Pg = zeros(Syn.n,1);  Syn.Qg = zeros(Syn.n,1);  Syn.J11 = zeros(Syn.n,1);  Syn.J12 = zeros(Syn.n,1);  Syn.J21 = zeros(Syn.n,1);  Syn.J22 = zeros(Syn.n,1);  Syn.Gp = zeros(Syn.n,8);  Syn.Gq = zeros(Syn.n,8);  switch length(Syn.con(1,:))   case 19    Syn.con = [Syn.con, zeros(Syn.n,1), ones(Syn.n,2), ...               zeros(Syn.n,3)];   case 20    Syn.con = [Syn.con, zeros(Syn.n,2), ones(Syn.n,2), ...               zeros(Syn.n,3)];   case 21    Syn.con = [Syn.con, ones(Syn.n,2), zeros(Syn.n,3)];   case 22    Syn.con = [Syn.con, ones(Syn.n,1), zeros(Syn.n,3)];   case 23    Syn.con = [Syn.con,zeros(Syn.n,3)];   case 24    Syn.con = [Syn.con,zeros(Syn.n,2)];   case 25    Syn.con = [Syn.con,zeros(Syn.n,1)];  endendif (~isempty(Exc.con))  Exc.n = length(Exc.con(:,1));  Exc.syn = Exc.con(:,1);  Exc.bus = Syn.bus(Exc.syn);endif (~isempty(Mass.con))  Mass.n = length(Mass.con(:,1));  Mass.syn = Mass.con(:,1);endTg = setup(Tg);if (~isempty(Oxl.con))  Oxl.n = length(Oxl.con(:,1));  Oxl.exc = Oxl.con(:,1);  Oxl.syn = Exc.syn(Oxl.exc);  Oxl.bus = Syn.bus(Oxl.syn);endif (~isempty(Pss.con))  Pss.n = length(Pss.con(:,1));  Pss.exc = Pss.con(:,1);  Pss.syn = Exc.syn(Pss.exc);  Pss.bus = Syn.bus(Pss.syn);endif (~isempty(SAE1.con))  SAE1.n = length(SAE1.con(:,1));  DAE.x = zeros(SAE1.n,1);  fm_sae1(0);endif (~isempty(SAE2.con))  SAE2.n = length(SAE2.con(:,1));  DAE.x = zeros(SAE2.n,1);  fm_sae2(0);endif (~isempty(SAE3.con))  SAE3.n = length(SAE3.con(:,1));  DAE.x = zeros(SAE3.n,1);  fm_sae3(0);endif (~isempty(Ltc.con))  Ltc.n = length(Ltc.con(:,1));  Ltc.bus1 = Bus.int(round(Ltc.con(:,1)));  Ltc.bus2 = Bus.int(round(Ltc.con(:,2)));  DAE.x = zeros(Ltc.n,1);  Ltc.dat = ones(Ltc.n,7);  fm_ltc(0);endSvc = setup(Svc);Tcsc = setup(Tcsc);global Hvdcif ~isempty(Hvdc.con)  Hvdc.n = length(Hvdc.con(:,1));  Hvdc.bus1 = round(Bus.int(Hvdc.con(:,1)));  Hvdc.bus2 = round(Bus.int(Hvdc.con(:,2)));  Hvdc.dat = zeros(Hvdc.n,16);  DAE.x = zeros(Hvdc.n,1);  fm_hvdc(0);endglobal Linesif ~isempty(Lines.con)  Lines.n = length(Lines.con(:,1));  Lines.bus1 = Bus.int(Lines.con(:,1));  Lines.bus2 = Bus.int(Lines.con(:,2));endglobal Statcomif ~isempty(Statcom.con)  Statcom.n = length(Statcom.con(:,1));  Statcom.bus = Bus.int(Statcom.con(:,1));  Statcom.pod = [];endglobal Ssscif ~isempty(Sssc.con)  Sssc.n = length(Sssc.con(:,1));  Sssc.line = Sssc.con(:,1);  Sssc.bus1 = Line.from(Sssc.line);  Sssc.bus2 = Line.to(Sssc.line);  Sssc.Pref = zeros(Sssc.n,1);    Sssc.Cp = Sssc.con(:,6)./100;   Sssc.y = 1./Line.con(Sssc.line,9);  % neglect line resistance, charging and tap ratio  Line.con(Sssc.line,[8 10 12]) = 0;  Line.con(Sssc.line,11) = 1;  Sssc.xcs = Sssc.Cp.*Line.con(Sssc.line,9);  Line.con(Sssc.line,9) = 1.*Line.con(Sssc.line,9) - Sssc.xcs;  Sssc.pod = [];endglobal Upfcif ~isempty(Upfc.con)  Upfc.n = length(Upfc.con(:,1));  Upfc.line = Upfc.con(:,1);  Upfc.bus1 = Line.from(Upfc.line);  Upfc.bus2 = Line.to(Upfc.line);  Upfc.y = 1./Line.con(Upfc.line,9);  % neglect line resistance, charging and tap ratio  Line.con(Upfc.line,[8 10 12]) = 0;  Line.con(Upfc.line,11) = 1;  Upfc.Cp = Upfc.con(:,6)./100;    Upfc.xcs = Upfc.Cp.*Line.con(Upfc.line,9);  Line.con(Upfc.line,9) = Line.con(Upfc.line,9) - Upfc.xcs;  Upfc.pod = [];endDemand = setup(Demand);Supply = setup(Supply);global Rsrvif ~isempty(Rsrv.con)  Rsrv.n = length(Rsrv.con(:,1));  Rsrv.bus = Bus.int(round(Rsrv.con(:,1)));endglobal Rmpgif ~isempty(Rmpg.con)  Rmpg.n = length(Rmpg.con(:,1));  Rmpg.sup = Rmpg.con(:,1);  Rmpg.bus = Supply.bus(Rmpg.sup);endglobal Rmplif ~isempty(Rmpl.con)  Rmpl.n = length(Rmpl.con(:,1));  Rmpl.dem = Rmpl.con(:,1);  Rmpl.bus = Demand.bus(Rmpl.dem);endglobal Ypdpif ~isempty(Ypdp.con)  lypdp = length(Ypdp.con);  if lypdp > 206, Ypdp.con = Ypdp.con([1:206]); end  if lypdp < 206    fm_disp(['* * * Custom Power Demand Profile.'])    Ypdp.d = 1;    Ypdp.w = 1;    Ypdp.y = 1;    Ypdp.day = Ypdp.con';    Ypdp.week = 100;    Ypdp.year = 100;    Ypdp.len = length(Ypdp.day);  else    fm_disp(['* * * Daily Power Demand Profile.'])    Ypdp.day = zeros(24,6);    Ypdp.day(:,1) = Ypdp.con([1:24]);    Ypdp.day(:,2) = Ypdp.con([25:48]);    Ypdp.day(:,3) = Ypdp.con([49:72]);    Ypdp.day(:,4) = Ypdp.con([73:96]);    Ypdp.day(:,5) = Ypdp.con([97:120]);    Ypdp.day(:,6) = Ypdp.con([121:144]);    Ypdp.week = Ypdp.con([145:151]);    Ypdp.year = Ypdp.con([152:203]);    Ypdp.d = min(6,max(1,round(Ypdp.con(204))));    Ypdp.w = min(7,max(1,round(Ypdp.con(205))));    Ypdp.y = min(52,max(1,round(Ypdp.con(206))));  endendglobal Vltnif ~isempty(Vltn.con)  Vltn.n = length(Vltn.con(:,1));  Vltn.bus = Bus.int(round(Vltn.con(:,1)));endglobal SSRif (~isempty(SSR.con))  SSR.n = length(SSR.con(:,1));  SSR.bus = Bus.int(SSR.con(:,1));endglobal Podif (~isempty(Pod.con))  Pod.n = length(Pod.con(:,1));  Pod.type = Pod.con(:,3);  Pod.idx = Pod.con(:,1);  idx = find(Pod.type == 1); % voltage control  if ~isempty(idx)    Pod.idx(idx) = Bus.int(Pod.con(idx,1));  end    Pod.svc     = find(Pod.con(:,4) == 1);  Pod.tcsc    = find(Pod.con(:,4) == 2);  Pod.statcom = find(Pod.con(:,4) == 3);  Pod.sssc    = find(Pod.con(:,4) == 4);  Pod.upfc    = find(Pod.con(:,4) == 5);  Svc.pod = Pod.con(Pod.svc,2);  Statcom.pod = Pod.con(Pod.statcom,2);  Sssc.pod = Pod.con(Pod.sssc,2);  Upfc.pod = Pod.con(Pod.upfc,2);  Tcsc.pod = Pod.con(Pod.tcsc,2);end% ----------------------------------------------------------- %%                       W A R N I N G                         %% ----------------------------------------------------------- %% Following lines have been written by the UDM build utility. %% This utility requires you do NOT change anything beyond     %% this point in order to be able to correctly install and     %% uninstall UDMs.                                             %% ----------------------------------------------------------- %global Sofcif ~isempty(Sofc.con)  Sofc.n = length(Sofc.con(:,1));  Sofc.bus = Bus.int(round(Sofc.con(:,1)));endglobal Cacif ~isempty(Cac.con)  Cac.n = length(Cac.con(:,1));  Cac.bus = Bus.int(round(Cac.con(:,1)));  Cac.q = ones(Cac.n,1);endglobal Clusterif ~isempty(Cluster.con)  Cluster.n = length(Cluster.con(:,1));  ty1 = find(Cluster.con(:,3) == 1);  ty2 = find(Cluster.con(:,3) == 2);  Cluster.svc = ty1;  Cluster.exc = ty2;  Cluster.bus = zeros(Cluster.n,1);  Exc.cluster = Cluster.con(Cluster.exc,2);  Svc.cluster = Cluster.con(Cluster.svc,2);  Syn.cluster = Exc.syn(Exc.cluster);  Cluster.bus(ty1) = Exc.bus(Exc.cluster);  Cluster.bus(ty2) = Svc.bus(Svc.cluster);  Cluster.cac = Cluster.con(:,1);endglobal Exloadif ~isempty(Exload.con)  Exload.n = length(Exload.con(:,1));  Exload.bus = Bus.int(round(Exload.con(:,1)));  Exload.dat = zeros(Exload.n,3);endglobal Phsif ~isempty(Phs.con)  Phs.n = length(Phs.con(:,1));  Phs.bus1 = Bus.int(round(Phs.con(:,1)));  Phs.bus2 = Bus.int(round(Phs.con(:,2)));endglobal Windif ~isempty(Wind.con)  Wind.n = length(Wind.con(:,1));  Wind.speed.vw = [];  Wind.speed.time = [];endglobal Cswtif ~isempty(Cswt.con)  Cswt.n = length(Cswt.con(:,1));  Cswt.bus = Bus.int(round(Cswt.con(:,1)));  Cswt.wind = round(Cswt.con(:,2));  Cswt.dat = zeros(Cswt.n,8);endglobal Dfigif ~isempty(Dfig.con)  Dfig.n = length(Dfig.con(:,1));  Dfig.bus = Bus.int(round(Dfig.con(:,1)));  Dfig.wind = round(Dfig.con(:,2));  Dfig.dat = zeros(Dfig.n,7);endglobal Ddsgif ~isempty(Ddsg.con)  Ddsg.n = length(Ddsg.con(:,1));  Ddsg.bus = Bus.int(round(Ddsg.con(:,1)));  Ddsg.wind = round(Ddsg.con(:,2));  Ddsg.dat = zeros(Ddsg.n,7);endglobal Busfreqif ~isempty(Busfreq.con)  Busfreq.n = length(Busfreq.con(:,1));  Busfreq.bus = Bus.int(round(Busfreq.con(:,1)));  Busfreq.dat = zeros(Busfreq.n,2);endglobal Pmuif ~isempty(Pmu.con)  Pmu.n = length(Pmu.con(:,1));  Pmu.bus = Bus.int(round(Pmu.con(:,1)));  Pmu.dat = zeros(Pmu.n,2);endglobal Jimmaif ~isempty(Jimma.con)  Jimma.n = length(Jimma.con(:,1));  Jimma.bus = Bus.int(round(Jimma.con(:,1)));  Jimma.dat = zeros(Jimma.n,1);endglobal Mixedif ~isempty(Mixed.con)  Mixed.n = length(Mixed.con(:,1));  Mixed.bus = Bus.int(round(Mixed.con(:,1)));  Mixed.dat = zeros(Mixed.n,2);endcheck = 1;

⌨️ 快捷键说明

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