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

📄 pid1_dfl.m

📁 vTools is a toolbox for Matlab 5.3 developed within the Department of Electrical Systems and A
💻 M
字号:
function pid1_dfl;
%Massimo Davini 08/11/99

global stack;

   
for canale=1:stack.temp.canali
%inizio for   
   Num=stack.temp.Num(canale,:);
   Den=stack.temp.Den;
   [a,b,c,d]=tf2ss(Num,Den);
   tol=sqrt(eps)*10;p=[];
   while isempty(p)
     tol=tol/10;
     [amin,bmin,cmin,dmin]=minreal(a,b,c,d,tol);
     [z,p,k]=ss2zp(amin,bmin,cmin,dmin);
   end;
   
   sys=ss(amin,bmin,cmin,dmin);
   if ~isempty(find(real(p)>0))|...
      ~isempty(find(real(p)==0 & imag(p)==0))
   %canale instabile
   stabile=0;
   else stabile=1;
   end;

   stack.temp.stabili(canale)=stabile;
   
   if stabile
      dc=dcgain(sys);
      parametritipo=0;

      %canale stabile di ordine 1,senza zeri,con abs(dc)>10e-3
      if length(p)==1 & isempty(z) & isfinite(dc) & abs(dc)>1e-4
         parametritipo=1;
         T=-1/p; t0=T/100;
      %canale stabile con abs(dc)>10e-3 di ordine qualunque
      elseif length(p)>1 & isfinite(dc) & abs(dc)>1e-4
          %-------------------
          %stima del Rise Time
          %-------------------
          [y,t]=step(sys);
          %trova y / 10%dc <= y <= 90%dc , tra questi considera quelli
          %relativi alla prima salita ( se c'

⌨️ 快捷键说明

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