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