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

📄 fm_status.m

📁 用于电力系统的一个很好的分析软件
💻 M
字号:
function fm_status(varargin)% FM_STATUS display convergence error of the current simulation in%           the main window%% FM_STATUS('init',xmax,colors,styles,faces)% FM_STATUS('update',values,iteration,err_max)%%see also the structure Hdl%%Author:    Federico Milano%Date:      11-Nov-2002%Update:    09-Jul-2003%Version:   1.0.1%%E-mail:    Federico.Milano@uclm.es%Web-site:  http://www.uclm.es/area/gsee/Web/Federico%% Copyright (C) 2002-2008 Federico Milanoglobal Settings Fig Hdl Theme CPF OPFpersistent handlespersistent statuspersistent firstvaluepersistent hdlif nargin  routine = varargin{1};  flag = varargin{2};else  returnendswitch routine case 'pf'  check = Settings.status; case 'opf'  check = OPF.show; case 'cpf'  check = CPF.show; case 'lib'  check = Settings.status; case 'snb'  check = Settings.status;endif ~(Settings.show & check & Fig.main), return, endswitch flag case 'init'  xmax = varargin{3};  colors = varargin{4};  styles = varargin{5};  faces = varargin{6};  if nargin > 6    yrange = varargin{7};  else    yrange = [0 1];  end  if Hdl.status ~= 0, delete(Hdl.status); end  hdl = findobj(Fig.main,'Tag','PushClose');  set(hdl,'String','Stop');  set(Fig.main,'UserData',1);  set(0,'CurrentFigure',Fig.main);  Hdl.status = axes('position',[0.0406 0.1152 0.2537 0.2243]);  set(Hdl.status, ...      'Drawmode','fast', ...      'NextPlot','add', ...      'Color',Theme.color11, ...      'Xlim',[1 xmax], ...      'Ylim',yrange, ...      'Box','on');  grid('on')  handles = zeros(length(colors),1);  for i = 1:length(colors)    handles(i) = line('color',colors{i}, ...                      'LineStyle',styles{i}, ...                      'Marker','o', ...                      'markersize',5, ...                      'xdata',[1 1], ...                      'ydata',[100 100], ...                      'erase','none', ...                      'MarkerFaceColor',faces{i});  end  drawnow  status = []; case 'update'  values = varargin{3};  iteration = varargin{4};  if iteration == 1    firstvalue = values(2:end);    if ~firstvalue, firstvalue = 1; end    values(2:end) = 1;  else    values(2:end) = abs(values(2:end))./firstvalue;  end  status = [status; values];  for i = 1:length(handles)    if status(1,i+1) == 0      status(1,i+1) = 1;    end    set(handles(i), ...        'xdata',status([max(end-1,1),end],1), ...        'ydata',status([max(end-1,1),end],i+1));  end  drawnow case 'close'  set(hdl,'String','Close');end

⌨️ 快捷键说明

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