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

📄 optpid.m

📁 用MATLAB的脚本语言M语言编写的
💻 M
字号:
function [Gc,Kp,Ti,Td,H]=optPID(key,typ,vars)
k=vars(1); L=vars(2); T=vars(3); N=vars(4); 
Td=[];
if length(vars)==5, iC=vars(5); 
   switch key
   case 2
PID=[0.980,0.712,0.569,1.072,0.786,0.628;
     0.892,0.921,0.951,0.560,0.559,0.583;
     0.690,0.968,1.023,0.648,0.883,1.007;
     0.155,0.247,0.179,0.114,0.158,0.167];
   case 3
PID=[1.048,1.042,0.968,1.154,1.142,1.061; 
     0.897,0.897,0.904,0.567,0.579,0.583;
     1.195,0.987,0.977,1.047,0.919,0.892;
     0.368,0.238,0.253,0.220,0.172,0.165;
     0.489,0.385,0.316,0.490,0.384,0.315;
     0.888,0.906,0.892,0.708,0.839,0.832];
   case 4
PID=[1.260,1.053,0.942,1.295,1.120,1.001;
     0.887,0.930,0.933,0.619,0.625,0.624;
     0.701,0.736,0.770,0.661,0.720,0.754;
     0.147,0.126,0.130,0.110,0.114,0.116;
     0.375,0.349,0.308,0.378,0.350,0.308;
     0.886,0.907,0.897,0.756,0.811,0.813];
   end
   ii=0; if (L/T>1) ii=3; end; tt=L/T; 
   a1=PID(1,ii+iC); b1=-PID(2,ii+iC); 
   a2=PID(3,ii+iC); b2=-PID(4,ii+iC); 
   Kp=a1/k*tt^b1; Ti=T/(a2+b2*tt); 
   if key==3| key==4
      a3=PID(5,ii+iC); b3=PID(6,ii+iC); 
      Td=a3*T*tt^b3;
   end
else, 
   Kc=vars(5); Tc=vars(6); k=vars(7); 
   switch key
   case 2,
      Kp=0.361*Kc;Ti=0.083*(1.935*k+1)*Tc;
   case 3,
      Kp=0.509*Kc; Td=0.125*Tc;
      Ti=0.051*(3.302*k+1)*Tc;
   case 4,
      Kp=(4.437*k-1.587)/(8.024*k-1.435)*Kc; 
      Ti=0.037*(5.89*k+1)*Tc; Td=0.112*Tc;
   end
end
[Gc,H]=writepid(Kp,Ti,Td,N,key);

⌨️ 快捷键说明

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