亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? fm_limit.m

?? 電力系統的psat
?? M
字號:
function fm_limit% FM_LIMIT compute Limit-Induced Bifurcation (LIB)%          by means of a Newton-Raphson routine.%% FM_LIMIT%%     LIB.type:  1 = 'Vmax' for maximum voltage limit%                2 = 'Vmin' for minimum voltage limit%                3 = 'Qmax' for maximum reactive power limit%                4 = 'Qmin' for minimum reactive power limit%     LIB.slack:  0   ->   single slack bus%                 1   ->   distribuited slack bus%     LIB.bus:    bus number at which the limit will be applied%     LIB.lambda: the critical value of lambda at the LIB eq. point%%                                              d P   |%     LIB.dpdl:  sensitivity coefficient    -------- |%                                           d lambda |0%%Author:    Federico Milano%Date:      11-Nov-2002%Version:   1.0.0%%E-mail:    fmilano@thunderbox.uwaterloo.ca%Web-site:  http://thunderbox.uwaterloo.ca/~fmilano%% Copyright (C) 2002-2005 Federico Milano%% This toolbox is free software; you can redistribute it and/or modify% it under the terms of the GNU General Public License as published by% the Free Software Foundation; either version 2.0 of the License, or% (at your option) any later version.%% This toolbox is distributed in the hope that it will be useful, but% WITHOUT ANY WARRANTY; without even the implied warranty of% MERCHANDABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU% General Public License for more details.%% You should have received a copy of the GNU General Public License% along with this toolbox; if not, write to the Free Software% Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307,% USA.fm_varif ~autorun('LIB Direct Method')  returnendtype   = LIB.type;slack  = LIB.slack;bus_no = LIB.selbus;% check for loaded componentsif Mn.n, mn = sum(~Mn.con(:,8));  else, mn = 0; endif Pl.n, pl = sum(~Pl.con(:,11)); else, pl = 0; endncload = mn + pl + Lines.n + Tcsc.n;if ncload | DAE.n  fm_disp('only PV, PQ and SW buses are allowed for LIB computations.')  returnendfm_disp('  ',1)fm_disp('Newton-Rapshon Method for LIB Computation - Distribuited Slack Bus',1)fm_disp(['Data file "',Path.data,File.data,'"'],1)fm_displength(Snapshot.V);DAE.V = Snapshot(1).V;DAE.a = Snapshot(1).ang;DAE.x = Snapshot(1).x;DAE.Jlfv = Snapshot(1).Jlfv;dynordold = DAE.n;PQold = PQ;PVold = PV;SWold = SW;noDem = 0;noSup = 0;Vmax = PQ.con(:,6);Vmin = PQ.con(:,7);PQ.con(:,6) = 10000*ones(PQ.n,1);PQ.con(:,7) = -10000*ones(PQ.n,1);n_gen = PV.n+SW.n;bus_gen = sort([SW.bus; PV.bus]);Qmin = [SW.con(:,7); PV.con(:,7)];Qmax = [SW.con(:,6); PV.con(:,6)];failed = 0;if bus_no > Bus.n  fm_disp('Bus_no exceeds bus number',2)  failed = 1;endif bus_no < 1  fm_disp('Bus_no should be an integer > 0',2)  failed = 1;endbus_no = Bus.int(round(bus_no));switch type case 1  a = find(PQ.bus(:,1) == bus_no);  if isempty(a)    fm_disp('No PQ load found for the specified bus number',2)    failed = 1;  end  eta = min(Vmax(a)); case 2  a = find(PQ.bus(:,1) == bus_no);  if isempty(a)    fm_disp('No PQ load found for the specified bus number',2)    failed = 1;  end  eta = max(Vmin(a)); case 3  a = find(PV.bus == bus_no);  b = find(SW.bus == bus_no);  if isempty(a) & isempty(b),    fm_disp('No generator found for the specified bus number',2)    failed = 1;  end  if a    PQ.con = [PQ.con; PV.con(a,[1 2 3]),-PV.con(a,[4 6]), ...              10000, -10000, 0];    PQ.bus = [PQ.bus; PV.bus(a)];    PQ.n = PQ.n+1;    eta = PV.con(a,5);    PV.con(a,:) = [];    PV.bus(a) = [];    PV.n = PV.n-1;  end  if b    PQ.con = [PQ.con; SW.con(b,[1 2 3]),-Bus.Pg(SW.bus(b)), ...              -SW.con(b,6), 10000, -10000, 0];    PQ.bus = [PQ.bus; SW.bus(b)];    PQ.n = PQ.n+1;    eta = SW.con(b,4);    SW.con(b,:) = [];    SW.bus(b) = [];    SW.n = SW.n-1;  end case 4  a = find(PV.bus == bus_no);  b = find(SW.bus == bus_no);  if isempty(a) & isempty(b),    fm_disp('No generator found for the specified bus number',2)    failed = 1;  end  if a    PQ.con = [PQ.con; PV.con(a,[1 2 3]),-PV.con(a,[4 7]), ...              10000, -10000, 0];    PQ.bus = [PQ.bus; PV.bus(a)];    PQ.n = PQ.n+1;    eta = PV.con(a,5);    PV.con(a,:) = [];    PV.bus(a) = [];    PV.n = PV.n-1;  end  if b    PQ.con = [PQ.con; SW.con(b,[1 2 3]),-Bus.Pg(SW.bus(b)), ...              -SW.con(b,7), 10000, -10000, 0];    PQ.bus = [PQ.bus; SW.bus(b)];    PQ.n = PQ.n+1;    eta = SW.con(b,4);    SW.con(b,:) = [];    SW.bus(b) = [];    SW.n = SW.n-1;  end otherwise  fm_disp('ERROR: option "',num2str(type),'" is not defined.',2)  failed = 1;endif failed  DAE.n = dynordold;  PQ = PQold;  PV = PVold;  SW = SWold;  returnend% for the slack bus, it is used the power injection obtained by the power flowfor i = 1:SW.n,  k = SW.bus(i);  if ~isempty(Snapshot(1).Pg)    pg = Snapshot(1).Pg;    if pg(k) ~= 0      SW.con(i,10) = pg(k);    end  endend% if no Demand.con is imposed, the load power direction% is assumed to be equal to the PQ oneif Demand.n  no_dpq = find(Demand.con(:,3) == 0 & Demand.con(:,4) == 0);  if ~isempty(no_dpq),    fm_disp    for i = 1:length(no_dpq)      fm_disp(['No power direction found in "Demand.con" for Bus ', ...               Varname.bus{Demand.bus(no_dpq(i))}])    end    fm_disp('Continuation load flow routine may have convergence problems.',2)    fm_disp  endelse  noDem = 1;  Ppos = find(PQ.con(:,4) > 0);  Demand.con = zeros(length(Ppos),14);  Demand.n = length(Ppos);  Demand.bus = PQ.bus(Ppos);  Demand.con(:,[1 2 3 4]) = PQ.con(Ppos,[1 2 4 5]);  Demand.con(:,14) = 1;  PQ.con(Ppos,[4 5]) = 0;end% if no Supply.con is imposed, the generator power direction% is assumed to be equal to the PV oneif Supply.n  no_sp = find(Supply.con(:,3) == 0);  if ~isempty(no_sp),    fm_disp    if length(no_sp) == Supply.n      fm_disp(['No power directions found in "Supply.con" for all buses.'])      fm_disp('Remove "Supply" components or set power directions.')      fm_disp('Continuation power flow interrupted',2)      if CPF.show, set(Fig.main,'Pointer','arrow'); end      return    else      for i = 1:length(no_sp)        fm_disp(['No power direction found in "Supply.con" for Bus ', ...                 Varname.bus{Supply.bus(no_sp(i))}])      end      fm_disp('Continuation power flow routine may have convergence problems.',2)      fm_disp    end  endelse  noSup = 1;  if PV.n    Ppos = find(PV.con(:,4) > 0);    Supply.con = zeros(length(Ppos),14);    Supply.n = length(Ppos);    Supply.bus = PV.bus(Ppos);    Supply.con(:,[1 2 3]) = PV.con(Ppos,[1 2 4]);    Supply.con(:,14) = 1;    PV.con(Ppos,4) = 0;  end  if SW.n    Ppos = find(SW.con(:,10) > 0);    Supply.n = Supply.n+length(Ppos);    Supply.bus = [Supply.bus; SW.bus(Ppos)];    Supply.con(end+[1:length(Ppos)],[1 2 3]) = SW.con(Ppos,[1 2 10]);    Supply.con((end-length(Ppos)+1):end,14) = 1;    SW.con(Ppos,10) = 0;  endend% size Jacobian matricesif DAE.n ==0  DAE.f = 0;  DAE.x = 1;  DAE.Fx = 1;endif isempty(DAE.f), DAE.f = 0; endif DAE.n == 0, DAE.n = 1; endif Settings.octave  Flambda = zeros(DAE.n,1);  Fk = zeros(DAE.n,1);  Fc = zeros(DAE.n,1);  Kjac = zeros(1,2*Bus.n+DAE.n+2);  Cjac = zeros(1,2*Bus.n+DAE.n+2);  Gl = zeros(2*Bus.n,1);  Gk = zeros(2*Bus.n,1);else  Flambda = sparse(DAE.n,1);  Fk = sparse(DAE.n,1);  Fc = sparse(DAE.n,1);  Kjac = sparse(1,2*Bus.n+DAE.n+2);  Cjac = sparse(1,2*Bus.n+DAE.n+2);  Gl = sparse(2*Bus.n,1);  Gk = sparse(2*Bus.n,1);endCjac(DAE.n+Bus.n+bus_no) = 1;Kjac(1,DAE.n+Settings.refbus) = 1;iter_max = Settings.lfmit;iterazione = 0;tol = Settings.lftol;err_max = tol+1;%  Power Flow Routine with inclusion of limittic;fm_status('lib','init',iter_max,{'b'},{'-'},{'y'},[-1 5])l_vect = [];lambda = 1;kg = 0;while err_max > tol  if (iterazione >= iter_max), break, end  if Fig.main    if ~get(Fig.main,'UserData'), break, end  end  if isempty(Line.Y)    DAE.gp = zeros(Bus.n,1);    DAE.gq = zeros(Bus.n,1);    if Settings.octave      DAE.J11 = zeros(Bus.n,Bus.n);      DAE.J21 = zeros(Bus.n,Bus.n);      DAE.J12 = zeros(Bus.n,Bus.n);      DAE.J22 = zeros(Bus.n,Bus.n);    else      DAE.J11 = sparse(Bus.n,Bus.n);      DAE.J21 = sparse(Bus.n,Bus.n);      DAE.J12 = sparse(Bus.n,Bus.n);      DAE.J22 = sparse(Bus.n,Bus.n);    end  end  % call components functions and models  fm_lf(1); fm_pq(1); fm_pv(1); fm_lf(2); fm_pv(2);  for i = 1:SW.n,    k = Settings.refbus(i);    DAE.gp(k) = DAE.gp(k) - SW.con(i,10);    DAE.gq(k) = 0;    DAE.J21(k,:) = zeros(1,Bus.n);    DAE.J22(k,:) = zeros(1,Bus.n);    DAE.J12(:,k) = zeros(Bus.n,1);    DAE.J22(:,k) = zeros(Bus.n,1);    DAE.J22(k,k) = 1;  end  DAE.Jlfv = [DAE.J11, DAE.J12; DAE.J21, DAE.J22];  DAE.Jlfv(:,Settings.refbus) = 0;  for i = 1:Demand.n    k = Demand.bus(i);    if isempty(find(SW.bus == k)),      DAE.gp(k) = lambda*Demand.con(i,3) + DAE.gp(k);      Gl(k,1) = Demand.con(i,3);    end    if isempty(find(bus_gen == k)),      DAE.gq(k) = lambda*Demand.con(i,4) + DAE.gq(k);      Gl(k+Bus.n,1) = Demand.con(i,4);    end    %DAE.gp(k) = lambda*Demand.con(i,3) + DAE.gp(k);    %DAE.gq(k) = lambda*Demand.con(i,4) + DAE.gq(k);    %Gl(k,1) = Demand.con(i,3);    %Gl(k+Bus.n,1) = Demand.con(i,4);  end  for i = 1:Supply.n    k = Supply.bus(i);    DAE.gp(k) = DAE.gp(k) - lambda*Supply.con(i,3);    Gl(k,1) = -Supply.con(i,3);  end  if slack    for i = 1:Supply.n      k = Supply.bus(i);      DAE.gp(k) = DAE.gp(k) - kg*Supply.con(i,3);      Gk(k,1) = -Supply.con(i,3);    end  else    DAE.gp(Settings.refbus) = DAE.gp(Settings.refbus) - ...        kg*Supply.con(find(Supply.bus==Settings.refbus),3);    Gk(Settings.refbus,1) = -Supply.con(find(Supply.bus==Settings.refbus),3);  end  inc = -[DAE.Fx, DAE.Fy, Flambda, Fk; DAE.Gx, DAE.Jlfv, Gl, Gk; Cjac; Kjac]\ ...        [DAE.f; DAE.gp; DAE.gq; DAE.V(bus_no)-eta; 0];  DAE.x = DAE.x + inc(1:DAE.n);  DAE.a = DAE.a + inc(1+DAE.n: Bus.n+DAE.n);  DAE.V = DAE.V + inc(DAE.n+Bus.n+1:end-2);  lambda = lambda + inc(end-1);  kg = kg + inc(end);  err_max = max(abs(inc));  iterazione = iterazione + 1;  fm_status('lib','update',[iterazione, err_max],iterazione)  fm_disp(['iteration = ',int2str(iterazione), ...           '    lambda = ',num2str(lambda), ...           '    kg = ',num2str(kg), ...           '    err = ',num2str(err_max)],1)endfm_dispfm_disp(['lambda critical = ',num2str(lambda)])% sensitivity coefficients% ===========================================================================k_jac = Kjac([DAE.n+1:end-2, end]);Dxf1c = [DAE.Jlfv,Gk;k_jac];Dlf1c = [Gl;0];Dpf1c = sparse(2*Bus.n+1,Demand.n+Supply.n);for i = 1:Supply.n  k = Supply.bus(i);  Dpf1c(k,i) = -lambda;  Dpf1c(end,i) = kg;endfor i = 1:Demand.n  k = Demand.bus(i);  Dpf1c(k,Supply.n+i) = lambda;endDxf2c = Dxf1c;Dxf2c(bus_no,:) = zeros(1,2*Bus.n+1);Dxf2c(:,bus_no) = zeros(2*Bus.n+1,1);Dxf2c(bus_no,bus_no) = 1;Dlf2c = Dlf1c;Dpf2c = Dpf1c;mu = Dlf2c - Dxf2c*(Dxf1c\Dlf1c);dl_dp = full((mu')*(Dxf2c*(Dxf1c\Dpf1c) - Dpf2c)/(mu'*mu))';LIB.lambda = lambda;LIB.dldp = dl_dp;LIB.bus = strvcat(strcat('s_',num2str(Supply.bus)), ...                  strcat('d_',num2str(Demand.bus)));% display results% ===========================================================================Settings.lftime = toc;Settings.iter = iterazione;if iterazione >= iter_max  fm_disp(['Reached Maximum Number of Iterations for ', ...           'LIB computation without Convergence'],2)else  fm_disp(['Limit Induced Bifurcation computed in ', ...           num2str(Settings.lftime),' s'],1)  if Settings.showlf == 1, fm_stat, endend% restore original data% ===========================================================================fm_status('lib','close')DAE.n = dynordold;PQ = PQold;PV = PVold;SW = SWold;if noDem  Demand.con = [];  Demand.n = 0;  Demand.bus = [];endif noSup  Supply.con = [];  Supply.n = 0;  Supply.bus = [];endSNB.init = 0;LIB.init = 1;CPF.init = 0;OPF.init = 0;

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
午夜亚洲福利老司机| 国产精品国产成人国产三级| 91麻豆swag| 国产.欧美.日韩| 国产伦精品一区二区三区免费迷| 秋霞影院一区二区| 蜜臀va亚洲va欧美va天堂| 亚洲成a人片在线观看中文| 一区二区三区在线高清| 亚洲另类在线制服丝袜| 樱桃视频在线观看一区| 亚洲色图欧美激情| 亚洲免费观看高清| 亚洲国产日韩一区二区| 爽好多水快深点欧美视频| 日韩激情一二三区| 日本不卡视频一二三区| 久久99精品久久久久久动态图| 乱中年女人伦av一区二区| 国内精品在线播放| 成人ar影院免费观看视频| 91在线码无精品| 欧美日韩一区精品| 欧美白人最猛性xxxxx69交| 国产午夜亚洲精品理论片色戒| 中文字幕av免费专区久久| 中文字幕一区二区三区色视频| 亚洲人成人一区二区在线观看| 亚洲综合久久av| 男人的天堂久久精品| 国产精品一级片| 99在线精品观看| 欧美日韩在线亚洲一区蜜芽| 欧美大片拔萝卜| 国产精品久久综合| 午夜电影网一区| 国产成人精品www牛牛影视| 91麻豆蜜桃一区二区三区| 日韩欧美高清在线| 中文字幕在线观看一区二区| 日韩制服丝袜av| 99久久精品免费看国产| 欧美精品国产精品| 国产精品日产欧美久久久久| 五月婷婷综合激情| 成人深夜在线观看| 欧美一区二区视频在线观看2020| 国产欧美日韩麻豆91| 日本人妖一区二区| 日本福利一区二区| 精品国产区一区| 一区二区高清免费观看影视大全 | 在线观看视频一区二区欧美日韩| 51久久夜色精品国产麻豆| 国产精品热久久久久夜色精品三区| 亚洲午夜久久久久久久久电影院 | 美美哒免费高清在线观看视频一区二区 | ...中文天堂在线一区| 午夜精品成人在线视频| 91亚洲国产成人精品一区二三| 欧美成人vps| 亚洲成a人v欧美综合天堂下载| 国产一区二区精品久久91| 欧美精品精品一区| 亚洲综合色网站| 9i看片成人免费高清| 国产日韩欧美高清在线| 久久精品99久久久| 日韩一区二区电影在线| 亚洲不卡一区二区三区| 91国偷自产一区二区使用方法| 国产亚洲综合av| 国产伦精一区二区三区| 日韩免费看网站| 久久66热偷产精品| 精品国产一区二区三区久久影院| 天天综合天天综合色| 欧美精品久久99| 日本欧美一区二区三区| 欧美久久久影院| 全部av―极品视觉盛宴亚洲| 在线91免费看| 国产精品自在在线| 精品成人一区二区三区| 激情综合色综合久久综合| 26uuu国产一区二区三区| 韩国v欧美v日本v亚洲v| 久久免费的精品国产v∧| 国产a精品视频| 18成人在线观看| 欧美日韩国产精品自在自线| 天天影视色香欲综合网老头| 51午夜精品国产| 国产一区二区三区观看| 亚洲欧洲日产国码二区| 欧美三级蜜桃2在线观看| 琪琪久久久久日韩精品| 国产午夜三级一区二区三| av福利精品导航| 亚洲午夜久久久久久久久电影网| 91麻豆精品国产综合久久久久久| 精品一区二区在线视频| 国产精品久久久久9999吃药| 欧美影视一区在线| 日韩va亚洲va欧美va久久| 国产三级精品三级| 在线日韩国产精品| 精品写真视频在线观看| 亚洲视频中文字幕| 欧美大片免费久久精品三p| 国产成人av在线影院| 亚洲国产精品一区二区尤物区| 日韩免费观看高清完整版| 99久久亚洲一区二区三区青草 | 日韩精品免费专区| 国产精品人人做人人爽人人添| 91国内精品野花午夜精品| 精品一二三四区| 亚洲福利电影网| 国产精品日韩精品欧美在线| 在线播放91灌醉迷j高跟美女 | 自拍视频在线观看一区二区| 5月丁香婷婷综合| 99久久777色| 精久久久久久久久久久| 亚洲图片欧美视频| 国产精品美女久久久久久久久| 欧美精品99久久久**| 不卡的av电影在线观看| 美女视频黄久久| 亚洲成人免费av| 中文字幕欧美一区| 国产调教视频一区| 日韩欧美资源站| 欧美在线观看一区二区| 99精品热视频| 国产.欧美.日韩| 国内精品在线播放| 久久精品国产亚洲一区二区三区 | 久久久久99精品一区| 欧美丰满一区二区免费视频| 色国产精品一区在线观看| 成人久久视频在线观看| 精品一区二区三区av| 日本欧美在线看| 日韩电影一二三区| 性感美女久久精品| 亚洲一区视频在线观看视频| 国产精品久久久久久亚洲毛片| 久久久久久97三级| 精品sm在线观看| 久久精品水蜜桃av综合天堂| 欧美xingq一区二区| 91精品国产综合久久久久| 欧美精品777| 6080国产精品一区二区| 91精品国产综合久久福利软件| 欧美人与z0zoxxxx视频| 666欧美在线视频| 91精品国产色综合久久不卡蜜臀 | 一本到高清视频免费精品| av在线免费不卡| 91影视在线播放| 色欧美88888久久久久久影院| 91蜜桃网址入口| 91国产成人在线| 欧美伊人久久大香线蕉综合69| 91丨porny丨国产| 色婷婷综合中文久久一本| 欧美性生活大片视频| 欧美精品三级日韩久久| 91精品国产高清一区二区三区蜜臀 | 国产人成亚洲第一网站在线播放 | 视频一区欧美日韩| 久久精品噜噜噜成人av农村| 国内精品伊人久久久久av影院| 精品一区二区av| 99久久伊人网影院| 精品视频免费在线| 精品av综合导航| 亚洲欧美日韩综合aⅴ视频| 五月天激情小说综合| 国产综合成人久久大片91| 成人激情文学综合网| 欧美视频完全免费看| 欧美成人在线直播| 中文字幕一区二区在线观看| 亚洲v精品v日韩v欧美v专区 | 最新欧美精品一区二区三区| 亚洲一二三四在线观看| 免费人成精品欧美精品| 成人av影院在线| 日韩一区二区在线观看| 国产精品网曝门| 日韩电影一二三区| 99久久婷婷国产综合精品| 91精品国产入口| 国产精品久久久久久妇女6080 | 精品国产免费一区二区三区四区| 国产精品久久久久久久久久免费看|