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

📄 fm_idx.m

📁 电力系统的psat
💻 M
字号:
function  fm_idx(flag)% FM_IDX define formatted and unformatted names of system variables%% FM_IDX(FLAG)%      FLAG  1  -> power flow variables%            2  -> state variables%            3  -> Jacobians and eigenvalues%%Author:    Federico Milano%Date:      11-Nov-2002%Update:    05-Mar-2004%Version:   1.1.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.global Varname DAE Bus Line Syn File Settings Path Exc Oxlswitch flag case 1  if isempty(Varname.bus)    Varname.bus = cell(Bus.n,1);    ibusmax = fix(log10(max(Bus.con(:,1))));    for j = 1:Bus.n      b = int2str(Bus.con(j,1));      zerib = [];      for i = 1:ibusmax-length(b)        zerib = [zerib, ' '];      end      Varname.bus{j} = ['Bus ', zerib, b];    end  end  Varname.fV = cell(Bus.n,1);  Varname.uV = cell(Bus.n,1);  Varname.fang = cell(Bus.n,1);  Varname.uang = cell(Bus.n,1);  Varname.fPm = cell(Syn.n,1);  Varname.uPm = cell(Syn.n,1);  Varname.fVref = cell(Exc.n,1);  Varname.uVref = cell(Exc.n,1);  Varname.fIf = cell(Oxl.n,1);  Varname.uIf = cell(Oxl.n,1);  Varname.fVf = cell(Syn.n,1);  Varname.uVf = cell(Syn.n,1);  Varname.fP = cell(Bus.n,1);  Varname.uP = cell(Bus.n,1);  Varname.fQ = cell(Bus.n,1);  Varname.uQ = cell(Bus.n,1);  for j = 1:Bus.n    b = strrep(Varname.bus{j,1},'_',' ');    Varname.fV{j} = ['V_{', b,'}'];    Varname.fang{j} = [char(92),'theta_{', b,'}'];    Varname.fP{j} = ['P_{', b,'}'];    Varname.fQ{j} = ['Q_{', b,'}'];    Varname.uV{j} = ['V_', b];    Varname.uang{j} = ['theta_', b];    Varname.uP{j} = ['P_', b];    Varname.uQ{j} = ['Q_', b];  end  for j = 1:Syn.n    b = int2str(j);    Varname.fPm{j} = ['P_{mech ', b,'}'];    Varname.fVf{j} = ['V_{fd ', b,'}'];    Varname.uPm{j} = ['Pmech_', b];    Varname.uVf{j} = ['Vfd_', b];  end  for j = 1:Exc.n    b = int2str(j);    Varname.fVref{j} = ['V_{ref ', b,'}'];    Varname.uVref{j} = ['Vref_', b];  end  for j = 1:Oxl.n    b = int2str(j);    Varname.fIf{j} = ['I_{f ', b,'}'];    Varname.uIf{j} = ['I_f', b];  end  Varname.fPflow = cell(2*Line.n,1);  Varname.fQflow = cell(2*Line.n,1);  Varname.uPflow = cell(2*Line.n,1);  Varname.uQflow = cell(2*Line.n,1);  for j = 1:Line.n    b = Varname.bus{Bus.int(Line.con(j,1)),1};    d = Varname.bus{Bus.int(Line.con(j,2)),1};    Varname.uPflow{j} = ['P_',b,'_',d];    Varname.uPflow{j+Line.n} = ['P_',d,'_',b];    Varname.uQflow{j} = ['Q_',b,'_',d];    Varname.uQflow{j+Line.n} = ['Q_',d,'_',b];    Varname.fPflow{j} = ['P_{',b,' ',d,'}'];    Varname.fPflow{j+Line.n} = ['P_{',d,' ',b,'}'];    Varname.fQflow{j} = ['Q_{',b,' ',d,'}'];    Varname.fQflow{j+Line.n} = ['Q_{',d,' ',b,'}'];  end case 2  Varname.fx = cell(DAE.n,1);  Varname.ux = cell(DAE.n,1);  for j = 1:length(Varname.fname)    eval(['global ',Varname.comp{j}]);    nome = eval([Varname.comp{j},'.',Varname.uname{j}]);    if ~isempty(nome)      b = find(nome);      numero = length(b);      for i = 1:numero        Varname.ux{nome(b(i))} = [Varname.uname{j},'_', ...                            Varname.comp{j},'_',  int2str(b(i))];        Varname.fx{nome(b(i))} = [Varname.fname{j},'_{', ...                            Varname.comp{j},' ', int2str(b(i)),'}'];      end    end  end case 3  Varname.fdet = {'det(J_l_f)'; 'det(J_l_f_v)'; 'det(J_l_f_d)'};  Varname.udet = {'det(Jlf)'; 'det(Jlfv)'; 'det(Jlfd)'};  Varname.fautostate = cell(DAE.n,1);  Varname.uautostate = cell(DAE.n,1);  for i = 1:DAE.n    Varname.fautostate{i} = [char(92),'lambda', '_{As (', int2str(i),')}'];    Varname.uautostate{i} = ['eigenvalue_As', int2str(i)];  end  Varname.fautojlfr = cell(Bus.n,1);  Varname.fautojlfdr = cell(Bus.n,1);  Varname.uautojlfr = cell(Bus.n,1);  Varname.uautojlfdr = cell(Bus.n,1);  for i = 1:Bus.n    Varname.fautojlfr{i} = [char(92),'lambda','_{Jlfr (', int2str(i),')}'];    Varname.fautojlfdr{i} = [char(92),'lambda','_{Jlfdr (', int2str(i),')}'];    Varname.uautojlfr{i} = ['eigenvalue_Jlfr', int2str(i)];    Varname.uautojlfdr{i} = ['eigenvalue_Jlfdr', int2str(i)];  end  Varname.fpflf = cell(Bus.n,Bus.n);  Varname.fpflfd = cell(Bus.n,Bus.n);  Varname.upflf = cell(Bus.n,Bus.n);  Varname.upflfd = cell(Bus.n,Bus.n);  for j = 1:Bus.n    for i = 1:Bus.n      Varname.fpflf{i,j} = ['pf ',char(92),'lambda', '_{jlfr (', ...                          int2str(j),') \rightarrow', ...                          ' bus (', int2str(Bus.con(i,1)),')}'];      Varname.fpflfd{i,j} = ['pf ',char(92),'lambda', '_{jlfdr (', ...                          int2str(j),') \rightarrow', ' bus (', ...                          int2str(Bus.con(i,1)),')}'];      Varname.upflf{i,j} = ['pf_Jlfr', int2str(j),'-bus_', ...                          int2str(Bus.con(i,1))];      Varname.upflfd{i,j} = ['pf_Jlfdr', int2str(j), '-bus_', ...                          int2str(Bus.con(i,1))];    end  endend

⌨️ 快捷键说明

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