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

📄 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 and state variables%         2  -> determinants and eigenvalues%%Author:    Federico Milano%Date:      11-Nov-2002%Update:    05-Mar-2004%Update:    14-Sep-2005%Update:    19-Dec-2005%Version:   1.2.0%%E-mail:    fmilano@thunderbox.uwaterloo.ca%Web-site:  http://thunderbox.uwaterloo.ca/~fmilano%% Copyright (C) 2002-2006 Federico Milanoglobal Varname DAE Bus Line Syn File Settings Path Exc Oxlswitch flag case 1  % power flow and state variables  nidx = DAE.n+4*Bus.n+2*Syn.n+Exc.n+Oxl.n+4*Line.n;  % cell array of unformatted variable names  Varname.uvars = cell(nidx,1);  % cell array of formatted (LaTeX style) variable names  Varname.fvars = cell(nidx,1);  % state variables  if DAE.n    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.uvars{nome(b(i))} = [Varname.uname{j},'_', ...                              Varname.comp{j},'_',  int2str(b(i))];          Varname.fvars{nome(b(i))} = [Varname.fname{j},'_{', ...                              Varname.comp{j},' ', int2str(b(i)),'}'];        end      end    end  end  idx1 = DAE.n+Bus.n;  idx2 = DAE.n+2*Bus.n+2*Syn.n+Exc.n+Oxl.n;  idx3 = idx2+Bus.n;  for j = 1:Bus.n    b = strrep(Varname.bus{j,1},'_',' ');    % V    Varname.fvars{DAE.n+j} = ['V_{', b,'}'];    Varname.uvars{DAE.n+j} = ['V_', b];    % theta    Varname.fvars{idx1+j} = [char(92),'theta_{', b,'}'];    Varname.uvars{idx1+j} = ['theta_', b];    % P    Varname.fvars{idx2+j} = ['P_{', b,'}'];    Varname.uvars{idx2+j} = ['P_', b];    % Q    Varname.fvars{idx3+j} = ['Q_{', b,'}'];    Varname.uvars{idx3+j} = ['Q_', b];  end  idx1 = DAE.n+2*Bus.n;  idx2 = DAE.n+2*Bus.n+Syn.n;  for j = 1:Syn.n    b = int2str(j);    % Pm    Varname.fvars{idx1+j} = ['P_{mech ', b,'}'];    Varname.uvars{idx1+j} = ['Pmech_', b];    % Vf    Varname.fvars{idx2+j} = ['V_{fd ', b,'}'];    Varname.uvars{idx2+j} = ['Vfd_', b];  end  idx1 = DAE.n+2*Bus.n+2*Syn.n;  for j = 1:Exc.n    b = int2str(j);    % Vref    Varname.fvars{idx1+j} = ['V_{ref ', b,'}'];    Varname.uvars{idx1+j} = ['Vref_', b];  end  idx1 = DAE.n+2*Bus.n+2*Syn.n+Exc.n;  for j = 1:Oxl.n    b = int2str(j);    % If    Varname.fvars{idx1+j} = ['I_{f ', b,'}'];    Varname.uvars{idx1+j} = ['I_f', b];  end  idx1 = DAE.n+4*Bus.n+2*Syn.n+Exc.n+Oxl.n;  idx2 = idx1 + Line.n;  idx3 = idx2 + Line.n;  idx4 = idx3 + Line.n;  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};    % P_ij    Varname.fvars{idx1+j} = ['P_{',b,' ',d,'}'];    Varname.uvars{idx1+j} = ['P_',b,'_',d];    % Q_ij    Varname.fvars{idx3+j} = ['Q_{',b,' ',d,'}'];    Varname.uvars{idx3+j} = ['Q_',b,'_',d];    % P_ji    Varname.fvars{idx2+j} = ['P_{',d,' ',b,'}'];    Varname.uvars{idx2+j} = ['P_',d,'_',b];    % Q_ji    Varname.fvars{idx4+j} = ['Q_{',d,' ',b,'}'];    Varname.uvars{idx4+j} = ['Q_',d,'_',b];  end  Varname.nvars = length(Varname.uvars);  % plot variables  if isempty(Varname.idx)    % use default variables    Varname.fixed = 1;    Varname.custom = 0;    Varname.x = 1;    Varname.V = 1;    Varname.PQ = 0;    Varname.Pij = 0;    Varname.idx = [1:(DAE.n+2*Bus.n)]';  else    % check for possible index inconsistency    idx = find(Varname.idx > Varname.nvars);    if ~isempty(idx)      Varname.idx(idx) = [];    end  end case 2 % determinants and eigenvalues  idx0 = DAE.n+4*Bus.n+2*Syn.n+Exc.n+Oxl.n+4*Line.n;  Varname.fvars{idx0+1} = 'det(J_l_f)';  Varname.fvars{idx0+2} = 'det(J_l_f_v)';  Varname.fvars{idx0+3} = 'det(J_l_f_d)';  Varname.uvars{idx0+1} = 'det(Jlf)';  Varname.uvars{idx0+2} = 'det(Jlfv)';  Varname.uvars{idx0+3} = 'det(Jlfd)';  idx0 = idx0+3;  for i = 1:DAE.n    Varname.fvars{idx0+i} = [char(92),'lambda', '_{As (', int2str(i),')}'];    Varname.uvars{idx0+i} = ['eigenvalue_As', int2str(i)];  end  idx0 = idx0+DAE.n;  for i = 1:Bus.n    Varname.fvars{idx0+i} = [char(92),'lambda','_{Jlfr (', int2str(i),')}'];    Varname.uvars{idx0+i} = ['eigenvalue_Jlfr', int2str(i)];  end  idx0 = idx0+Bus.n;  for i = 1:Bus.n    Varname.fvars{idx0+i} = [char(92),'lambda','_{Jlfvr (', int2str(i),')}'];    Varname.uvars{idx0+i} = ['eigenvalue_Jlfvr', int2str(i)];  end  idx0 = idx0+Bus.n;  for i = 1:Bus.n    Varname.fvars{idx0+i} = [char(92),'lambda','_{Jlfdr (', int2str(i),')}'];    Varname.uvars{idx0+i} = ['eigenvalue_Jlfdr', int2str(i)];  end  Varname.nvars = length(Varname.uvars);end

⌨️ 快捷键说明

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