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

📄 qwatecad.m

📁 机器人控制仿真程序一书的所有源代码
💻 M
字号:
function qwatecad(flag)
% QWATECAD Frequency weight IDE. (Utility Function)
%          QWATECAD creates the frequency weight IDE within LPSHAPE/DLPSHAPE
%          environments.

% Author: Craig Borghesani
% 10/10/93
% Copyright (c) 1995-98 by The MathWorks, Inc.
%       $Revision: 1.4 $

f2=gcf;
f=get(f2,'userdata');

bthan = get(f,'userdata');
infmat = get(bthan(16),'userdata');

h = get(bthan(25),'userdata');
h2 = get(bthan(26),'userdata');
wfunc = get(h2(3),'userdata');

proc_str=[];
if infmat(25,2)>1, proc_str=[' (',int2str(infmat(25,2)),')']; end

if flag==0,
 lomat = get(bthan(1),'userdata');
 w = lomat(1,:);  lo = abs(lomat(2,:));
 set(f2,'name',['Frequency Weighting',proc_str]);
 t = get(h2(12),'userdata');
 set(h([4,5,8,9,10]),'vis','off');
 set(h(6),'callback','qmodlred(6)');
 set(h(7),'callback','qwatecad(1)');
 set(h2([3,12]),'enable','on');
 xlims = [min(w),max(w)];
 ylims = [min(lo)/10,max(lo)*10];
 pos = get(h(3),'userdata');
 set(h(1),'pos',pos+[0,0,0,0.1],'xscale','log','yscale','log',...
          'xlim',xlims,'ylim',ylims,'xtickmode','auto','ytickmode','auto');
 set(h2(11),'userdata',[xlims,ylims]);
 set(h2(6),'userdata',[]);
 set(h(2),'xdata',w,'ydata',lo);
 set(h(3),'vis','off');
 set(wfunc(1:2:length(wfunc)),'color','g');
 for loc = 2:2:length(wfunc),
  set(wfunc(loc),'color',get(wfunc(loc),'userdata'));
 end
 set(h2(4:11),'enable','off');
 if length(wfunc),
  set(h2([4,5,11]),'enable','on');
 else
  set(h2(4),'enable','on');
 end
% if length(t),
%  ct=1;
%  for val = ylims(1):((ylims(2)-ylims(1))/4):ylims(2),
%   tval = (val - ylims(1))/(ylims(2) - ylims(1));
%   set(t(ct),'pos',[xlims(2)+xlims(2)*0.07,val],'string',sprintf('%1.4f',tval));
%   ct = ct + 1;
%  end
% else
%  ct=1;
%  for val = ylims(1):((ylims(2)-ylims(1))/4):ylims(2),
%   tval = (val - ylims(1))/(ylims(2) - ylims(1));
%   t(ct) = text('pos',[xlims(2)+xlims(2)*0.07,val],'string',sprintf('%1.4f',tval));
%   ct = ct + 1;
%  end
%  set(h2(12),'userdata',t);
% end
elseif flag==1,
 set(f2,'pointer','arrow','windowbuttondownfcn','',...
        'windowbuttonupfcn','','windowbuttonmotionfcn','',...
        'name',['Hankel Singular Values',proc_str]);
 set(h2([3,12]),'enable','off');
 set(wfunc,'color',[0,0,0]);
 hsv = get(h(2),'userdata');
 set(h(2),'ydata',hsv,'xdata',1:length(hsv));
 set(h(3),'ydata',hsv,'xdata',1:length(hsv),'vis','on');
 pos=get(h(3),'userdata');
 xticks = 0:length(hsv)+1;
 set(h(1),'pos',pos,'xtick',xticks,'xlim',[0,length(hsv)+1],...
          'ylim',[10 .^[floor(log10(min(hsv))),ceil(log10(max(hsv)))]],...
          'yscale','log','xscale','linear');
 set(h([4,5,8,9,10]),'vis','on');
 set(h(6),'callback','qmodlred(2)');
 set(h(7),'callback','qmodlred(5)');
end

⌨️ 快捷键说明

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