• 大小: 1KB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2021-05-18
  • 语言: 其他
  • 标签:

资源简介

我发表小论文用的程序代码,永磁直线电机的速度位置跟踪,用的无模型自适应控制

资源截图

代码片段和文件信息

% MFac control for continuous plant
%初始化
clear all;
close all;
u(1)=12;
u(2)=12;

y(1)=0;
y(2)=0;
y(3)=0;

Phi(1)=2;
Phi(2)=2;

Epsilon=0.00001;%充分小的数

Eta=1;  
Rho=1;   %步长序列

Lambda=0.09;
Mu=5;   %权重因子

%Sampling time
ts=0.001; 

%期望输出
for k=1:1001;
   time(k)=k*ts;
   j=k*ts;
   y_d(k)=(-0.2)*(15*j^4-6*j^5-10*j^3);
   v_d(k)=(-0.2)*(60*j^3-30*j^4-30*j^2);
    
end
   
xk=zeros(21);
u_1=0;
%控制过程
for k=3:1000

%计算实际输出
para=u_1;
tSpan=[0 ts];
[ttxx]=ode45(‘plant‘tSpanxk[]para);
xk = xx(length(xx):);
y(k)=xk(1); 
v(k)=xk(2);

%由控制率计算控制输入
d_u(k-1)=u(k-1)-u(k-2);
d_y(k)=y(k)-y(k-1);

%估计伪偏导数Phi
    Phi(k)=Phi(k-1)+(Eta*d_u(k-1)/(Mu+abs(d_u(k-1)).^2))*(d_y(k)-Phi(k-1)*d_u(k-1));
    if Phi(k)<=Epsilon | abs(d_u(k-1))<=Epsilon
        Phi(k)=Phi(1);
    end
    
u(k)=u(k-1)+(Rho*Phi(k)/(Lambda+abs(Phi(k)).^2))*(y_d(k+1)-y(k));
u_1=u(k);

end 

figure(2);
plot(1:1000y_d(1:1000)1:1000y(1:1000)‘r‘);
xlabel(‘k‘);ylabel(‘y_dy‘);

% figure(2);
% plot(1:1000y_d(1:1000)-y(1:1000)‘r‘‘linewidth‘2);
% xlabel(‘k‘)ylabel(‘Positon error‘);

% figure(3);
% plot(1:1000v_d(1:1000)1:1000v(1:1000)‘r‘);
% xlabel(‘k‘);ylabel(‘v_dv‘);
% legend(‘Ideal Speed signal‘‘Speed tracking‘);

% figure(4);
% plot(1:1000v_d(1:1000)-v(1:1000)‘r‘‘linewidth‘2);
% xlabel(‘k‘)ylabel(‘Speederror‘);

% figure(5);
% plot(1:1000u(1:1000)‘r‘‘linewidth‘2);

% figure(6);
% plot(1:1000Phi(1:1000)‘r‘‘linewidth‘2);

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件       1559  2013-03-31 21:36  MFac\MFac_plant.m

     文件        341  2013-03-31 16:12  MFac\plant.m

     目录          0  2013-03-31 22:05  MFac

----------- ---------  ---------- -----  ----

                 1900                    3


评论

共有 条评论

相关资源