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

📄 chap4_7f2.m

📁 先进PID控制及其MATLAB仿真 一书源程序 北京航空航天大学 刘金琨
💻 M
字号:
%chap4_7f2.m
function [u]=chap4_7f2(u1,u2,u3,u4)
global s
persistent w x1 x2 x3 w_1 w_2 w_3 

N=300;
C=5;

if u3==0
   w=zeros(N+C,1);
   w_1=w;
   w_2=w;
   d_w=w;
end
  
alfa=0.04;

if s==1       %Step Signal
   Smin=0;
   Smax=1;
elseif s==2   %Sine Signal
   Smin=-0.5;
   Smax=0.5;  
elseif s==3   %Square Wave Signal
   Smin=-0.5;
   Smax=0.5;
end

xite=0.1; 

dvi=(Smax-Smin)/(N-1);

for i=1:1:C                %C size
    v(i)=Smin;
end
for i=C+1:1:C+N            %N size
    v(i)=v(i-1)+dvi;
end
for i=N+C+1:1:N+2*C        %C size
    v(i)=Smax;
end

rin=u1;
for i=1:1:N+C
if rin>=v(i)&rin<=v(i+C)
   a(i)=1;
else
   a(i)=0;
end
end

errork=u2;

un=a*w_1;
up=u4;
u=up+un;                %Total control output

if u>=10
   u=10;
end
if u<=-10
   u=-10;
end   
if s==1|s==3
   d_w=a'*xite*up/C;       
elseif s==2
   d_w=xite*up/C;       %For Sine Signal
end

w=w_1+d_w+alfa*(w_1-w_2);
w_3=w_2;
w_2=w_1;
w_1=w;

⌨️ 快捷键说明

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