当前位置:文档下载 > 所有分类 > 工程科技 > 环境科学/食品科学 > 单神经元控制算法的MATLAB仿真
侵权投诉

单神经元控制算法的MATLAB仿真

单神经元控制算法的MATLAB仿真

单神经元控制算法的MATLAB仿真

单神经元控制算法的MATLAB仿真

单神经元控制算法的MATLAB仿真

单神经元控制算法的MATLAB仿真

单神经元控制算法的MATLAB仿真

单神经元控制算法的MATLAB仿真

单神经元控制算法的MATLAB仿真

单神经元控制算法的MATLAB仿真

朱必刚

(无锡职业技术学院  214121)

摘 要:人工神经网络最基本的组成单位是神经元,利用具有自学习能力的单神经元来构成单神经元自适应PID智能控制器,不但结构简单,且适应性和鲁棒性较强。本文讨论了单神经元自适应PID智能控制器的结构,学习规则,并通过MATLAB仿真软件给出实例。

中图分类号:TM571        文献标识码:A  

1.单神经元控制器及其学习算法传统PID的连续算式可表示为

    

式中:Kp—比例增益,Ti—积分时间常数,Td—微分时间常数.

选取较小的采样周期To,其离散化表达式为

  

用单神经元实现自适应PID控制的结构图如图1所示.

图中神经元有3个输入量x(t) (=1,2,3),转换器的输入反映被控制过程及控制给定的偏差状态.若设给定为yr(k),输出为y(k),偏差为e(k),经转换器后转换成为神经元学习控制所需要的状态x1,x2,x3.

在这里

为性能指标或递进信号,wi(k)为对应xi(k)的加权系数,k为神经元的比例系数,k>0.

为保证单神经元自适应控制系统学习策略的收敛性和控制的鲁棒性,进行规范化处理,

即有:

           

式中:

n1,n2,n3—积分、比例、微分的学习速率.2.单神经元控制算法仿真2.1状态转换器

神经元有3个输入量xi(t) (=1,2,3),转换器的输入反映被控制过程及控制给定的偏差状态.若设给定为yr(k),输出为y(k),偏差为e(k),经转换器后转换成为神经元学习控制所需要的状态x1,x2,x3.其中

  

在MATLAB环境下,可通过零阶保持器实现状态转换。思路是:输入为e(k),使用零阶保持器保存其前一状态e(k-1),然后用加法器进行变换。

2.2单神经元控制器单神经元有三个输入,一个输出,在MATLAB中有子系统来构造,如下图所示:

单神经元控制算法用S函数编写:

function [sys, x0]

=sfn(t,x,u,flag,ni,np,nd,k)

该控制器中,神经元权值初始值分别设定为0.3,0.3,0.3。ni,np,nd分别表示积分比例微分学习速率,k表示神经元放大系数

2.3 仿真过程

对于二阶系统,给定传递函数:

以下分别用

单神经元控制和普通PID控制进行系统仿真。2.3.1单神经元模块仿真流程:输入经状态转换得到单神经元控制器的三输入,单神经元控制模块调用S函数进行比例积分微分系数调整。框图:

参数选定:

初始学习速率no=[0.3 0.3 0.3]

积分学习速率np=680

比例学习速率ni=65

微分学习速率nd=100

神经元比例系数k=20

仿真结果:仿真波形图见图5

由波形图可以看出:超调量为0,调节时间为5s2.3.2普通PID控制仿真

 科技资讯 SCIENCE & TECHNOLOGY INFORMATION7

单神经元控制算法的MATLAB仿真

第1页

免费下载Word文档免费下载:单神经元控制算法的MATLAB仿真

(下载1-2页,共2页)

我要评论

返回顶部