%CMAC and PID Concurrent Control
clear all;
close all;
%%%%%%%%%%%%%%%%初始化%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
ts=0.001;
alfa=0.9;
N=500;C=5;
w=zeros(N+C,1);
w_1=w;w_2=w;d_w=w;
x=[0,0,0]';
error_1=0;
%Input signal Range
A=1.80;
Smin=-A;
Smax=A;
xite=0.10;
%%%%%%%%%%%%%%%%%CMAC神经网%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%Coding Input Value 量化
dvi=(Smax-Smin)/(N-1);
for i=1:1:C %C size
v(i)=Smin;
end
for i=C+1:1:C+N %N size
v(i)=v(i-1)+dvi;
end
for i=N+C+1:1:N+2*C %C size
v(i)=Smax;
end
for k=1:1:1000
time(k)=k*ts;
% Input singnal
rin(k)=1.0*sin(2*pi*3*k*ts)+0.5*sin(2*pi*5*k*ts)+0.3*sin(2*pi*7*k*ts)+0.4*sin(2*pi*10*k*ts);
%映射到概念存储器Ap
for i=1:1:N+C
if rin(k)>=v(i)&rin(k)<=v(i+C)
a(i)=1;
else
a(i)=0;
end
end
%CMAC Neural Network Controller Output
un(k)=a*w;
u(k)=rin(k);
yout(k)=un(k);
error(k)=rin(k)-yout(k);
% if k==150 %Disturbance 加入扰动
% u(k)=u(k)+5.0;
% end
%Update NN Weight
d_w=xite*(u(k)-un(k))/C;
w=w_1+ d_w+alfa*(w_1-w_2);
%Parameters Update
w_2=w_1;w_1=w;
end
figure(1);
subplot(2,1,1)
plot(time,rin,'c',time,un,':');
grid on
subplot(2,1,2)
plot(time,error,'-');
grid on
CMACnoLEARN.rar_CMAC nonlinear_CMAC 函数_CMAC 逼近 MATLAB_cmac ma
版权申诉
120 浏览量
2022-07-14
21:03:15
上传
评论
收藏 777B RAR 举报
寒泊
- 粉丝: 78
- 资源: 1万+
最新资源
- Linux常用命令及用法说明
- 基于Matlab的FFT频谱分析及IIR数字滤波器设计
- AutoCAD高压低压电气开关柜设备接线图图纸
- AutoCAD电气图纸建筑电气开关柜常用cad图纸
- 使用ASP.NET Core和Entity Framework Core来构建一个基本的进销存系统.rar
- 深度学习经典数据集+FER2013面部表情识别+附带使用方法的python代码
- Python中,要实现连接多个相机并识别多个二维码.rar
- 使用FFT算法对一个信号进行分析.rar
- 171cms游戏应用下载系统源码.zip
- 基于jsp+servlet+mysql蛋糕甜品店购物网站源码+数据库(期末大作业).zip
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈