📄 fm_eigfig.m
字号:
function fig = fm_eigfig()% FM_EIGFIG create GUI for eigenvalue (small signal stability) analysis%% HDL = FM_EIGFIG()%%see also FM_EIGEN%%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.global DAE SSSA Bus Settings Theme Fig Fileif Fig.eigen, figure(Fig.eigen), return, endSSSA.neig = 1;metodi = {'All';'Largest Magnitude';'Smallest Magnitude'; ... 'Largest Real Part';'Smallest Real Part'; ... 'Largest Imag Part';'Smallest Imag Part';};h0 = figure('Color',Theme.color01, ... 'Units', 'normalized', ... 'Colormap', [], ... 'CreateFcn','Fig.eigen = gcf;', ... 'DeleteFcn','Fig.eigen = 0;', ... 'FileName','fm_eigfig', ... 'MenuBar','none', ... 'MinColormap', 300, ... 'DoubleBuffer', 'on', ... 'ShareColors','on', ... 'Name','Eigenvalue Analysis', ... 'NumberTitle','off', ... 'PaperPosition',[18 180 576 432], ... 'PaperUnits','points', ... 'Position',sizefig(0.6523,0.6201), ... 'ToolBar','none');fm_set colormap% Menus% Menu Fileh1 = uimenu('Parent',h0, ... 'Label','File', ... 'Tag','MenuFile');h2 = uimenu('Parent',h1, ... 'Callback','fm_eigen runsssa', ... 'Label','Run', ... 'Tag','OTV', ... 'Accelerator','z');h2 = uimenu('Parent',h1, ... 'Callback','close(gcf)', ... 'Label','Exit', ... 'Tag','NetSett', ... 'Accelerator','x', ... 'Separator','on');% Menu Viewh1 = uimenu('Parent',h0, ... 'Label','View', ... 'Tag','MenuView');h2 = uimenu('Parent',h1, ... 'Callback','fm_eigen report', ... 'Label','Write report', ... 'Tag','OTW', ... 'Accelerator','w');h2 = uimenu('Parent',h1, ... 'Callback','figure, axes, fm_eigen graph', ... 'Label','Export Graph', ... 'Tag','OTV', ... 'Accelerator','e');h2 = uimenu('Parent',h1, ... 'Callback','fm_tviewer', ... 'Label','Select text viewer', ... 'Tag','NetSett', ... 'Accelerator','t', ... 'Separator','on');h1 = uicontrol('Parent',h0, ... 'Units', 'normalized', ... 'BackgroundColor',Theme.color03, ... 'FontName',Theme.font01, ... 'ForegroundColor',Theme.color06, ... 'HorizontalAlignment','left', ... 'Position',[0.55689 0.6378 0.38563 0.28031], ... 'String',' ', ... 'Style','listbox', ... 'Tag','Listbox1', ... 'Value',1);h1 = axes('Parent',h0, ... 'Box','on', ... 'CameraUpVector',[0 1 0], ... 'CameraUpVectorMode','manual', ... 'Color',Theme.color11, ... 'ColorOrder',Settings.color, ... 'Position',[0.0922 0.3528 0.4323 0.5654], ... 'Tag','Axes1', ... 'XColor',[0 0 0], ... 'YColor',[0 0 0], ... 'ZColor',[0 0 0]);h1 = uicontrol('Parent',h0, ... 'Units', 'normalized', ... 'BackgroundColor',Theme.color02, ... 'ForegroundColor',Theme.color03, ... 'Position',[0.55569 0.064567 0.38563 0.21417], ... 'Style','frame', ... 'Tag','Frame1');h1 = uicontrol('Parent',h0, ... 'Units', 'normalized', ... 'BackgroundColor',Theme.color03, ... 'Callback','fm_eigen runsssa', ... 'FontWeight','bold', ... 'ForegroundColor',Theme.color09, ... 'Position',[0.60479 0.1 0.069 0.06], ... 'String','Plot', ... 'Tag','Pushbutton1');h1 = uicontrol('Parent',h0, ... 'Units', 'normalized', ... 'BackgroundColor',Theme.color02, ... 'ForegroundColor',Theme.color03, ... 'Position',[0.55689 0.31811 0.38563 0.27717], ... 'Style','frame', ... 'Tag','Frame2');h1 = uicontrol('Parent',h0, ... 'Units', 'normalized', ... 'BackgroundColor',Theme.color02, ... 'FontWeight','bold', ... 'ForegroundColor',Theme.color05, ... 'HorizontalAlignment','left', ... 'Position',[0.59521 0.45512 0.22994 0.031496], ... 'String','Posistive eigs:', ... 'Style','text', ... 'Tag','StaticText1');% Frameh1 = uicontrol('Parent',h0, ... 'Units', 'normalized', ... 'BackgroundColor',Theme.color02, ... 'ForegroundColor',Theme.color03, ... 'Position',[0.36287 0.064567 0.16168 0.21417], ... 'Style','frame', ... 'Tag','Frame3');% Checkboxeshmat(1) = uicontrol('Parent',h0, ... 'CData',fm_mat('eig_jlfd'), ... 'Units', 'normalized', ... 'BackgroundColor',Theme.color02, ... 'Callback','fm_eigen matrix', ... 'Position',[0.4437 0.064567 0.0808 0.1071], ... 'TooltipString','Jlfdr Matrix', ... 'Style','togglebutton', ... 'Tag','Checkbox1');hmat(2) = uicontrol('Parent',h0, ... 'CData',fm_mat('eig_jlfv'), ... 'Units', 'normalized', ... 'BackgroundColor',Theme.color02, ... 'Callback','fm_eigen matrix', ... 'Position',[0.36287 0.064567 0.0808 0.1071], ... 'TooltipString','Jlfvr Matrix', ... 'Style','togglebutton', ... 'Tag','Checkbox2');hmat(3) = uicontrol('Parent',h0, ... 'CData',fm_mat('eig_jlfr'), ... 'Units', 'normalized', ... 'BackgroundColor',Theme.color02, ... 'Callback','fm_eigen matrix', ... 'Position',[0.4437 0.1717 0.0808 0.1071], ... 'TooltipString','Jlfr Matrix', ... 'Style','togglebutton', ... 'Tag','Checkbox3');hmat(4) = uicontrol('Parent',h0, ... 'CData',fm_mat('eig_state'), ... 'Units', 'normalized', ... 'BackgroundColor',Theme.color02, ... 'Callback','fm_eigen matrix', ... 'Position',[0.36287 0.1717 0.0808 0.1071], ... 'TooltipString','State Matrix', ... 'Style','togglebutton', ... 'Tag','Checkbox4', ... 'Value',1);vals = [0, 0, 0, 0];vals(SSSA.matrix) = 1;for hh = 1:4; set(hmat(hh),'Value',vals(hh)), endh1 = uicontrol('Parent',h0, ... 'Units', 'normalized', ... 'BackgroundColor',Theme.color02, ... 'FontWeight','bold', ... 'ForegroundColor',Theme.color05, ... 'HorizontalAlignment','left', ... 'Position',[0.59521 0.49291 0.17126 0.031496], ... 'String','Buses', ... 'Style','text', ... 'Tag','StaticText1');h1 = uicontrol('Parent',h0, ... 'Units', 'normalized', ... 'BackgroundColor',Theme.color02, ... 'FontWeight','bold', ... 'ForegroundColor',Theme.color05, ... 'HorizontalAlignment','left', ... 'Position',[0.59521 0.52913 0.21317 0.031496], ... 'String','Dynamic order:', ... 'Style','text', ... 'Tag','StaticText1');h1 = uicontrol('Parent',h0, ... 'Units', 'normalized', ... 'BackgroundColor',Theme.color02, ... 'FontWeight','bold', ... 'ForegroundColor',Theme.color05, ... 'HorizontalAlignment','left', ... 'Position',[0.59521 0.4189 0.23353 0.031496], ... 'String','Negative eigs:', ... 'Style','text', ... 'Tag','StaticText1');h1 = uicontrol('Parent',h0, ... 'Units', 'normalized', ... 'BackgroundColor',Theme.color02, ... 'FontWeight','bold', ... 'ForegroundColor',Theme.color05, ... 'HorizontalAlignment','left', ... 'Position',[0.59521 0.34488 0.20599 0.031496], ... 'String','Zero eigs:', ... 'Style','text', ... 'Tag','StaticText1');h1 = uicontrol('Parent',h0, ... 'Units', 'normalized', ... 'BackgroundColor',Theme.color02, ... 'FontWeight','bold', ... 'ForegroundColor',Theme.color05, ... 'HorizontalAlignment','left', ... 'Position',[0.59521 0.3811 0.23114 0.031496], ... 'String','Complex pairs:', ... 'Style','text', ... 'Tag','StaticText1');% Frameh1 = uicontrol('Parent',h0, ... 'Units', 'normalized', ... 'BackgroundColor',Theme.color02, ... 'ForegroundColor',Theme.color03, ... 'Position',[0.087425 0.064567 0.27 0.21417], ... 'Style','frame', ... 'Tag','Frame4');% Radio Buttonshmap(1) = uicontrol('Parent',h0, ... 'CData',fm_mat('eig_smap'), ... 'Units', 'normalized', ... 'BackgroundColor',Theme.color02, ... 'Callback','fm_eigen map', ... 'Position',[0.087425+0.015 0.1 0.0808 0.1071], ... 'TooltipString','S-Domain Map', ... 'Style','togglebutton', ... 'Tag','Radiobutton1', ... 'Value',1);hmap(2) = uicontrol('Parent',h0, ... 'CData',fm_mat('eig_pfmap'), ... 'Units', 'normalized', ... 'BackgroundColor',Theme.color02, ... 'Callback','fm_eigen map', ... 'Position',[0.2490+0.015 0.1 0.0808 0.1071], ... 'TooltipString', 'PF Map', ... 'Style','togglebutton', ... 'Tag','Radiobutton2');hmap(3) = uicontrol('Parent',h0, ... 'CData',fm_mat('eig_zmap'), ... 'Units', 'normalized', ... 'BackgroundColor',Theme.color02, ... 'Callback','fm_eigen map', ... 'Position',[0.1682+0.015 0.1 0.0808 0.1071], ... 'TooltipString','Z-Domain Map', ... 'Style','togglebutton', ... 'Tag','Radiobutton3');h1 = uicontrol('Parent',h0, ... 'Units', 'normalized', ... 'BackgroundColor',Theme.color02, ... 'ForegroundColor',Theme.color05, ... 'HorizontalAlignment','left', ... 'Position',[0.087425+0.015 0.22 0.23114 0.031496], ... 'String','Plot style:', ... 'Style','text', ... 'Tag','StaticText1');vals = [0, 0, 0];vals(SSSA.map) = 1;for hh = 1:3, set(hmap(hh),'Value',vals(hh)), end% Push Buttonsh1 = uicontrol('Parent',h0, ... 'Units', 'normalized', ... 'BackgroundColor',Theme.color02, ... 'Callback','fm_eigen report', ... 'Position',[0.60479+2*0.069+2*0.0072 0.1 0.069 0.06], ... 'String','Report', ... 'Tag','Pushbutton1');h1 = uicontrol('Parent',h0, ... 'Units', 'normalized', ... 'BackgroundColor',Theme.color02, ... 'Callback','close(gcf);', ... 'Position',[0.60479+3*0.069+3*0.0072 0.1 0.069 0.06], ... 'String','Close', ... 'Tag','Pushbutton1');h1 = uicontrol('Parent',h0, ... 'Units', 'normalized', ... 'BackgroundColor',Theme.color03, ... 'Callback','figure, axes, fm_eigen graph', ... 'FontWeight','bold', ... 'ForegroundColor',Theme.color09, ... 'Position',[0.60479+0.069+0.0072 0.1 0.069 0.06], ... 'String','Graph', ... 'Tag','Pushbutton1');h1 = uicontrol('Parent',h0, ... 'Units', 'normalized', ... 'BackgroundColor',Theme.color02, ... 'FontWeight','bold', ... 'ForegroundColor',[0.502 0.251 0.251], ... 'HorizontalAlignment','left', ... 'Position',[0.84311 0.52913 0.075449 0.031496], ... 'Style','text', ... 'String',num2str(DAE.n), ... 'Tag','Text1');h1 = uicontrol('Parent',h0, ... 'Units', 'normalized', ... 'BackgroundColor',Theme.color02, ... 'FontWeight','bold', ... 'ForegroundColor',[0.502 0.251 0.251], ... 'HorizontalAlignment','left', ... 'Position',[0.84311 0.49291 0.075449 0.031496], ... 'String',num2str(Bus.n), ... 'Style','text', ... 'Tag','Text2');h1 = uicontrol('Parent',h0, ... 'Units', 'normalized', ... 'BackgroundColor',Theme.color02, ... 'FontWeight','bold', ... 'ForegroundColor',[0.502 0.251 0.251], ... 'HorizontalAlignment','left', ... 'Position',[0.84311 0.45512 0.075449 0.031496], ... 'Style','text', ... 'Tag','Text3');h1 = uicontrol('Parent',h0, ... 'Units', 'normalized', ... 'BackgroundColor',Theme.color02, ... 'FontWeight','bold', ... 'ForegroundColor',[0.502 0.251 0.251], ... 'HorizontalAlignment','left', ... 'Position',[0.84311 0.4189 0.075449 0.031496], ... 'Style','text', ... 'Tag','Text4');h1 = uicontrol('Parent',h0, ... 'Units', 'normalized', ... 'BackgroundColor',Theme.color02, ... 'FontWeight','bold', ... 'ForegroundColor',[0.502 0.251 0.251], ... 'HorizontalAlignment','left', ... 'Position',[0.84311 0.3811 0.075449 0.031496], ... 'Style','text', ... 'Tag','Text5');h1 = uicontrol('Parent',h0, ... 'Units', 'normalized', ... 'BackgroundColor',Theme.color02, ... 'FontWeight','bold', ... 'ForegroundColor',[0.502 0.251 0.251], ... 'HorizontalAlignment','left', ... 'Position',[0.84311 0.34488 0.075449 0.031496], ... 'Style','text', ... 'Tag','Text6');h1 = uicontrol('Parent',h0, ... 'Units', 'normalized', ... 'BackgroundColor',Theme.color04, ... 'Callback','fm_eigen method', ... 'ForegroundColor',Theme.color05, ... 'Position',[0.60479 0.2 0.190 0.0375], ... 'String',metodi, ... 'Style','popupmenu', ... 'Tag','PopupMenu2', ... 'Value',SSSA.method);h1 = uicontrol('Parent',h0, ... 'Units', 'normalized', ... 'BackgroundColor',Theme.color04, ... 'Callback','fm_eigen neig', ... 'ForegroundColor',Theme.color05, ... 'FontName',Theme.font01, ... 'Enable','off', ... 'HorizontalAlignment','left', ... 'Position',[0.842 0.2 0.062 0.0375], ... 'String',num2str(round(SSSA.neig)), ... 'Style','edit', ... 'Tag','EditText1');h1 = uicontrol('Parent',h0, ... 'Units', 'normalized', ... 'BackgroundColor',Theme.color02, ... 'HorizontalAlignment','left', ... 'Position',[0.8225 0.2 0.02 0.0325], ... 'String','#', ... 'Style','text', ... 'Tag','StaticText1');if nargout > 0, fig = h0; end
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -