Iterative learning control for linear discrete delay systems via discrete matrix delayed exponential

对于一类具有随机变迭代长度的问题,如功能性电刺激,用户可以提前结束实验过程,论文也是将离散矩阵延迟指数函数引入到状态方程中。
论文中关于迭代长度有三个定义值: Z T a Z^Ta ZTa 为最小的实验长度, Z T d Z^Td ZTd 为期望实验长度, Z T k Z^Tk ZTk 为k次迭代的实验长度。

柯西状态方程如下:

x ( t + 1 ) = A x ( t ) + A 1 x ( t − σ ) + f ( t ) , t ∈ Z 0 ∞ x ( t ) = φ ( t ) , t ∈ Z − σ 0 \begin{aligned} x(t+1) &=A x(t)+A_{1} x(t-\sigma)+f(t), \quad t \in \mathbb{Z}_{0}^{\infty} \\ x(t) &=\varphi(t), \quad t \in \mathbb{Z}_{-\sigma}^{0} \end{aligned} x(t+1)x(t)=Ax(t)+A1x(tσ)+f(t),tZ0=φ(t),tZσ0
引入离散矩阵延迟指数函数,状态x(k)的解为:
x ( t ) = A t e σ B 1 t A − σ φ ( − σ ) + ∑ j = − σ + 1 0 A ( t − j ) e σ B 1 ( t − σ − j ) [ φ ( j ) − A φ ( j − 1 ) ] + ∑ j = 1 t A ( t − j ) e σ B 1 ( t − σ − j ) f ( j − 1 ) \begin{aligned} x(t)=& A^{t} e_{\sigma}^{B_{1} t} A^{-\sigma} \varphi(-\sigma)+\sum_{j=-\sigma+1}^{0} A^{(t-j)} e_{\sigma}^{B_{1}(t-\sigma-j)}[\varphi(j)-A \varphi(j-1)] \\ &+\sum_{j=1}^{t} A^{(t-j)} e_{\sigma}^{B_{1}(t-\sigma-j)} f(j-1) \end{aligned} x(t)=AteσB1tAσφ(σ)+j=σ+10A(tj)eσB1(tσj)[φ(j)Aφ(j1)]+j=1tA(tj)eσB1(tσj)f(j1)

随机变迭代实验长度内容部分:

存在两种情况:1. T k > T d T_k>T_d Tk>Td,2. T a < T k < T d T_a<T_k<T_d Ta<Tk<Td 。对于第一种情况,只用Td以内的数据用来更新输入信号,对于第二情况只用 T k Tk Tk之内的数据进行更新。
η_k (t)为伯努利分布,其中值1表示以p(t)的概率运行到t时刻,值0表示以1-p(t)的概率不能运行到时刻t。对于Ta到Td这段时间的概率计算公式如下:
p ( t ) = { 1 , t ∈ Z 0 T a ∑ i = t T d p i , t ∈ Z T a + 1 T d . p(t)=\left\{\begin{array}{ll} 1, & t \in \mathbb{Z}_{0}^{T_{a}} \\ \sum_{i=t}^{T_{d}} p_{i}, & t \in \mathbb{Z}_{T_{a+1}}^{T_{d}} . \end{array}\right. p(t)={1,i=tTdpi,tZ0TatZTa+1Td.
举一个例子通俗地讲一下,上面地内容主要是用在算法收敛性证明的。前6次迭代实验的长度如下图所示,1为上面伯努利分布的1事件,0同理。

把Ta=6作为最小的运行时刻,期望运行时刻为Td=10,第一次迭代的终止时刻为6,把这个事件称之为M6,第六次迭代时,到T=11结束,即运行时刻大于Td,把这种情况同样视为M10。在上面的这张表中,运行到[7,10]的概率如下所示:其中pi为事件Mi发生的概率。那么系统能运行到时刻8的概率p(8)等于大于时刻8事件的概率3/5。
p(t)的概率表达式为:
p ( t ) = P [ ⋃ i = t 10 M i ] = ∑ i = t 10 P [ M i ] = ∑ i = t 10 p i p(t)=\mathbf{P}\left[\bigcup_{i=t}^{10} \mathbf{M}_{i}\right]=\sum_{i=t}^{10} \mathbf{P}\left[\mathbf{M}_{i}\right]=\sum_{i=t}^{10} p_{i} p(t)=P[i=t10Mi]=i=t10P[Mi]=i=t10pi

关于误差的定义

由于存在实际实验长度小于期望长度,所以这部分的误差当作0来计算:
e ~ k ( t ) : = η k ( t ) e k ( t ) = { e k ( t ) , t ∈ Z 0 T k 0 , t ∈ Z T k + 1 T d \tilde{e}_{k}(t):=\eta_{k}(t) e_{k}(t)=\left\{\begin{array}{ll} e_{k}(t), & t \in \mathbb{Z}_{0}^{T_{k}} \\ 0, & t \in \mathbb{Z}_{T_{k+1}}^{T_{d}} \end{array}\right. e~k(t):=ηk(t)ek(t)={ek(t),0,tZ0TktZTk+1Td

两种学习控制律

u k + 1 ( t ) = u k ( t ) + L 1 e ~ k ( t ) , t ∈ Z 0 T d u_{k+1}(t)=u_{k}(t)+L_{1} \tilde{e}_{k}(t), \quad t \in \mathbb{Z}_{0}^{T_{d}} uk+1(t)=uk(t)+L1e~k(t),tZ0Td
u k + 1 ( t ) = u k ( t ) + L 2 e ~ k ( t + 1 ) , t ∈ Z 0 T d u_{k+1}(t)=u_{k}(t)+L_{2} \tilde{e}_{k}(t+1), \quad t \in \mathbb{Z}_{0}^{T_{d}} uk+1(t)=uk(t)+L2e~k(t+1),tZ0Td
对于(9)式要把期望时间间隔设置为0到Td+1。算法的收敛性略(其实是我不会)。
代码见GITHUB

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值