📄 fm_idx.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 + -