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

📄 inyqst.m

📁 基于MATLAB的辅助设计 简述了矩阵分析的重要性
💻 M
字号:
%
% INYQST   INYQST is the M-file which is used to get the
%          Inverse Nyquist Plot for the given system
%

%    Author:  Ole Barup Sorensen, Rapid Data Ltd 

%    Copyright (c) 1989-94 by Rapid Data Ltd
%    Revision 11:11  05/10/94

okflag=figflag(tit1,0);

if okflag==0,
  Fig15=figure('Numbertitle','off','Name',tit1,'Menubar','none',...
  'Units','normal','Position',[130/Scx 30/Scy 440/Scx 350/Scy]);
  set(0,'currentfig',Fig15);

% design menu
  pt_menu
  uimenu(Han_fil,'Label','Close','Sep','on','Callback',...
  'close(Fig15);clear Fig15');
end

w_range=logspace(w_start,w_end,pt);
delete(gca);
config;

j = sqrt(-1);
if t_delay == 0
   [mmm,ddd] = nyquist(num,den,w_range);
else
   if cloop == 1
      n0 = size(H_den);
      if n0(2) == 1, 
         cmpc = num(1)/den(1)*ones(size(w_range));
      else
         [mmm,ddd] = nyquist(H_num,H_den,w_range);
         cmpc = mmm + sqrt(-1) * ddd;
      end
   end
   [mmm,ddd] = timdly(cloop,num,den,w_range,t_delay,cmpc);
   m2 = mmm; mmm = m2 .* cos(ddd); ddd = m2 .* sin(ddd);
end

%convert to inverse nyquist 1/mag exp(-jphase) 
m2 = mmm + j .* ddd;
p2 = ones(size(m2)) ./ m2;
mmm = real(p2); ddd = imag(p2); clear m2 p2

if id > 9
   if t_delay == 0
      [mmmx,dddx] = nyquist(numx,denx,w_range);
   else
      [mmmx,dddx] = timdly(cloop,numx,denx,w_range,t_delay,cmpc);
      m2 = mmmx; mmmx = m2 .* cos(dddx); dddx = m2 .* sin(dddx);
   end
   m2 = mmmx + j.* dddx;
   p2 = ones(size(m2)) ./ m2;
   mmmx = real(p2); dddx = imag(p2);
   mmm = [mmm mmmx]; ddd = [ddd dddx];
   clear mmmx dddx p2 m2 
end

% Plotting Inverse Nyquist plots
plot(mmm,ddd);
if id <= 9
   title('Inverse Nyquist Plot')
else;
   title('Inverse Nyquist Plot - Yellow: Compensated')
end
grid
xlabel('Real')
ylabel('Imaginary')

⌨️ 快捷键说明

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