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

📄 getu.asv

📁 动态系统仿真例子
💻 ASV
字号:
% function u=GetU(x,r)
% 通过反馈线性化得到控制U
% f(x)=[0.072*(1-x(1))*exp(x(2)/(1+x(2)/20))-x(1)
%       0.576*(1-x(1))*exp(x(2)/(1+x(2)/20))-1.3*x(2)];
% h(x)=x(1);
% g(x)=[0,0.3]';
% Lgh(x)=0;
% Lfh(x)=0.072*(1-x(1))*exp(x(2)/(1+x(2)/20))-x(1)=f(1);
% LgLfh(x)=dLfh(x)*g(x)=[-0.072*exp(x(2)/(1+x(2)/20))-1, 0.072*(1-x(1))*exp(x(2)/(1+x(2)/20))*(1/(x(2)/20 + 1) - x(2)/(20*(x(2)/20 + 1)^2))]*[0 0.3]'
%         =0.3*0.072*(1-x(1))*exp(x(2)/(1+x(2)/20))*(1/(x(2)/20 + 1) - x(2)/(20*(x(2)/20 + 1)^2));
% LgLfh(x)<>0 
% Relative degree is 2.
% Cordinate change is chosen as
%   z(1)=h(x)=x(1);
%   z(2)=Lfh(x);
% The new coordinates system:
%   dz=[z(2);
%       b(z)+a(z)u];
%   y=z(1);
%     b(z)=L2fh(x)=LfLfh(x)=dLfh(x)*f(x);
%     a(z)=LgLfh(x)=0.3*0.072*(1-x(1))*exp(x(2)/(1+x(2)/20))*(1/(x(2)/20 + 1) - x(2)/(20*(x(2)/20 + 1)^2));
%   u=-(b(z)-v)/a(z);
%   v=-alpha(1)*z(1)-alpha(2)*z(2); 
function u=GetU(x,r)
f=[0.072*(1-x(1))*exp(x(2)/(1+x(2)/20))-x(1);
g=[0 0.3]';
alpha=[-5 -10];

z=[x(1);
   f(1)]; 
err=z-[r,0]';
v=alpha*err;
dLfh=[-0.072*exp(x(2)/(1+x(2)/20))-1, 0.072*(1-x(1))*exp(x(2)/(1+x(2)/20))*(1/(x(2)/20 + 1) - x(2)/(20*(x(2)/20 + 1)^2))];
u=-(dLfh*f-v)/(dLfh*g);
u

⌨️ 快捷键说明

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