• 大小: 2KB
    文件类型: .m
    金币: 1
    下载: 0 次
    发布日期: 2021-06-14
  • 语言: Matlab
  • 标签: PID  神经网络  

资源简介

本程序基于PD神经网络实现了自整定PID功能,可移植到嵌入式系统。效果良好,整定迅速

资源截图

代码片段和文件信息

clear all;
clc
x = [000]‘; %定义输入矩阵
xiteP = 0.4;  %定义学习速率
xiteI = 0.35; 
xiteD = 0.4;
wkp_1 = 0.1; %初始化权重
wki_1 = 0.1;
wkd_1 = 0.1;
erro_1 = 0; %初始化误差
erro_2 = 0;
y_1 = 0;y_2 = 0;y_3 = 0; %初始化被控对象模型
u_1 = 0;u_2 = 0;u_3 = 0;
ts = 0.001; %定义时间步长
for k=111000 %循环迭代
    time(k) = kts; %时间为Kts总时间也就是1
    yd(k) = 1; %目标值
    if k==100
        y(k) = 0.368y_1+0.264y_2+0.1u_1+0.632u_2+0.2; %当迭代到100次加入扰动0.2
    else
        y(k) = 0.368y_1+0.264y_2+0.1u_1+0.632u_2; %被控对象模型
    end
    erro(k) = yd(k)-y(k); %获取误差
    
    wkp(k) = wkp_1+xitePerro(k)u_1x(1); %更新权重
    wki(k) = wki_1+xiteIerro(k)u_1x(2);
    wkd(k) = wkd_1+xiteDerro(k)u_1x(3);
    K = 0.12; %定义比例系数
    
    x(1) = erro(k)-erro_1; %给输入矩阵赋值
    x(2) = erro(k);
    x(3) = erro(k)-2erro_1+erro_2;
    
    wadd(k) = abs(wkp(k))

评论

共有 条评论