微信:HuangL1121
QQ号:1224848052
团队:MATLAB代做|MATLAB专业代做|python代做|matlab代写|FPGA代做|FPGA专业代做|MATLAB项目合作|FPGA项目合作|matlab代码|matlab算法源码|python代做|C代做|C++代做
地址:北京市-朝阳区-双柳北街18号院
当前位置:首页 > 技术资讯 > MATLAB代做|FPGA代做|simulink代做——一般SISO的Lyapunov-MRAS设计

MATLAB代做|FPGA代做|simulink代做——一般SISO的Lyapunov-MRAS设计

%一般SISO的Lyapunov-MRAS设计
clear;
clc; 

h=0.1; L=200/h; %数值积分步长和仿真步数(减小h,可以提高积分精度)
nump=[1]; denp=[1 2 1]; n=length(denp)-1; %对象参数(严格正实)
numm=[1]; denm=[1 1 1];
kp=1; [Ap,Bp,Cp,Dp]=tf2ss(kp*nump,denp); %对象参数(传递函数型转换为状态空间型)
km=1; [Am,Bm,Cm,Dm]=tf2ss(km*numm,denm); %参考模型参数

gamma=0.1; %自适应增益

yr0=0; u0=0; e0=0; %初值
yp0=0; ym0=0;
xp0=zeros(n,1); xm0=zeros(n,1); %状态向量初值
kc0=0; %可调增益初值
f10=0; f00=0;
r=2; yr=r*[ones(1,L/4) -ones(1,L/4) ones(1,L/4) -ones(1,L/4)]; %输入信号
P=[3 1;1 1];

for k=1:L
    time(k)=k*h;
    xp(:,k)=xp0+h*(Ap*xp0+Bp*u0);
    yp(k)=Cp*xp(:,k); %计算yp
    
    xm(:,k)=xm0+h*(Am*xm0+Bm*yr0);
    ym(k)=Cm*xm(:,k); %计算ym
    
    e(k)=ym(k)-yp(k); %e=ym-yp
    kc=kc0+h*gamma*[e0 (e(k)-e0)]*P(:,2)*yr0; %Lyapunov-MRAC自适应律
    f0=f00-h*gamma*[e0 (e(k)-e0)]*P(:,2)*yp0;
    f1=f10-h*gamma*[e0 (e(k)-e0)]*P(:,2)*(yp(k)-yp0);
    u(k)=kc*yr(k)-(f1*(yp(k)-yp0)+f0*yp(k)); %控制量
    
    %更新数据
    yr0=yr(k); u0=u(k); e0=e(k);
    yp0=yp(k); ym0=ym(k);
    f10=f1; f00=f0;
    xp0=xp(:,k); xm0=xm(:,k);
    kc0=kc;
end
subplot(2,1,1);
plot(time,ym,'r',time,yp,':');
xlabel('t'); ylabel('y_m(t)、y_p(t)');
legend('y_m(t)','y_p(t)');
subplot(2,1,2);
plot(time,u);

xlabel('t'); ylabel('u(t)');


联系:highspeedlogic

QQ :1224848052

微信:HuangL1121

邮箱:1224848052@qq.com

网站:http://www.mat7lab.com/

网站:http://www.hslogic.com/

微信扫一扫:


上一篇:MATLAB代做|FPGA代做|simulink代做——SVM支持向量机

版权所有: MATLAB代做|MATLAB专业代做|python代做|matlab代写|FPGA代做|FPGA专业代做|MATLAB项目合作|FPGA项目合作|matlab代码|matlab算法源码|python代做|C代做|C++代做 Copyright © 2021 All rights reserved.
微信:HuangL1121 QQ:1224848052
地址:北京市-朝阳区-双柳北街18号院

扫一扫,关注我们