clear all;
close all;
m=20;
n=100;
gama=0.9;
x1(1:m,1:n)=0;
x2(1:m,1:n)=0;
u(1:m,1:n)=0;
y(1:m,1:n)=0;
e(1:m,1:n)=0;
err(1:m,1:n)=0;
% b=beronulli(1,1000,1);
% w=randn(m,n)/5;
for n=1:100
y_d(n) = sin(8*(n-1)/50);
%y_d(n) = 5*sin(n*pi/100)+0.3*cos(n*pi/100);
% if n<=300
% y_d(n) =5*(-1).^round(n/100);
% else if n<=700
% y_d(n) = 5*sin(n*pi/100)+0.3*cos(n*pi/100);
% else
% y_d(n) =5*(-1).^round(n/100);
% end
% end
%y_d(n)=12*n.^2*(n-1);
%y_d(n) = sin(2*pi*n/50);
end
for k=1:m
for t=2:n-1
x1(k,t)=(-0.8*x1(k,t-1))-0.22*x2(k,t-1)+0.5*u(k,t-1);
x2(k,t)=x1(k,t-1)+u(k,t-1);
y(k,t-1)=(x1(k,t-1)+0.5*x2(k,t-1));
e(k,t-1)=y_d(t-1)-y(k,t-1);
err(k,t-1)=abs(e(k,t-1)).^2;
end
for t=2:n-1
u(k+1,t-1)=u(k,t-1)+gama*e(k,t)+0.3*e(k,t-1);
end
errn(k)=max(err(k,:));
end
plot(y_d(1:90),'-r');hold on
plot(y(1,1:90));hold on;
plot(y(2,1:90));hold on;
plot(y(3,1:90));hold on;
plot(y(5,1:90));hold on;
% plot(y(8,1:90));hold on;
%plot(y(10,1:90));hold on;
%plot(y(15,1:90));hold on;
figure
plot(err(5,1:90));
%plot(err(12,1:20));hold on
%plot(err(15,1:20));hold on
k=1:20;
figure;plot(k,errn(k))
没有合适的资源?快使用搜索试试~ 我知道了~
ilc.rar_ILC_ILC control_iterative learning_matlab ILC
共4个文件
m:4个
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 92 浏览量
2022-07-14
02:25:16
上传
评论
收藏 2KB RAR 举报
温馨提示
Iterative learning control based on PD in matlab
资源详情
资源评论
资源推荐
收起资源包目录
ilc.rar (4个子文件)
PD.m 1KB
ilc based on PD.m 1KB
ilc_origin.m 1KB
ILC.m 1KB
共 4 条
- 1
局外狗
- 粉丝: 64
- 资源: 1万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论0