資源簡介
自適應方面的很值得一參考的程序,僅供學習研究參考用,不得違規

代碼片段和文件信息
%具有可調增益Lyapunov-MRAS設計
clear;
clc;?
h=0.1;?L=100/h;?%數值積分步長和仿真步數(減小h,可以提高積分精度)
num=[2?1];?den=[1?2?1];?n=length(den)-1;?%對象參數(嚴格正實)
kp=1;?[ApBpCpDp]=tf2ss(kp*numden);?%對象參數(傳遞函數型轉換為狀態空間型)
km=1;?[AmBmCmDm]=tf2ss(km*numden);?%參考模型參數
gamma=0.1;?%自適應增益
yr0=0;?u0=0;?e0=0;?%初值
xp0=zeros(n1);?xm0=zeros(n1);?%狀態向量初值
kc0=0;?%可調增益初值
r=2;?yr=r*[ones(1L/4)?-ones(1L/4)?ones(1L/4)?-ones(1L/4)];?%輸入信號
c=inv([1?0;den(2)?1])*num‘;
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)-c(1)*yr0]*[1?0]‘*yr0;?%Lyapunov-MRAC自適應律
????u(k)=kc*yr(k);?%控制量
????
????%更新數據
????yr0=yr(k);?u0=u(k);?e0=e(k);
????xp0=xp(:k);?xm0=xm(:k);
????kc0=kc;
end
subplot(211);
plot(timeym‘r‘timeyp‘:‘);
xlabel(‘t‘);?ylabel(‘y_m(t)、y_p(t)‘);
legend(‘y_m(t)‘‘y_p(t)‘);
subplot(212);
plot(timeu);
xlabel(‘t‘);?ylabel(‘u(t)‘);
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????目錄???????????0??2011-12-31?11:25??基于李雅普諾夫的MRAS\
?????文件????????1151??2011-11-03?19:22??基于李雅普諾夫的MRAS\Gain.m
?????文件????????1172??2011-11-03?15:33??基于李雅普諾夫的MRAS\KF.m
?????文件????????1347??2011-11-03?15:30??基于李雅普諾夫的MRAS\SISO.m
?????文件????????1191??2011-11-03?15:32??基于李雅普諾夫的MRAS\StateBack.m
?????文件??????140096??2011-11-03?20:12??基于李雅普諾夫的MRAS\基于李雅普諾夫穩定性理論的MRAS設計.docx
- 上一篇:PID溫度控制的PLC程序設計
- 下一篇:rar
評論
共有 條評論