码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 【自校正控制】递推最小二乘法


    前言

    上节介绍了批处理最小二乘法,它比较适合数据的预处理,也即离线辨识,在实时性方面就不如递推最小二乘法,递推最小二乘法也就适合在线辨识

    递推最小二乘法原理

    递推最小二乘法的核心思想为:新的估计值 θ_hat(k) = 旧估计值 θ_hat(k - 1) + 修正项

    在进行原理推导之前,我们可以先拿出批处理最小二乘法的最终公式:

    将本次数据单独提出,则数据集可以记作一个新的形式:

    之后引入一个新的矩阵记作 P :

    关于 P 矩阵的这几个等式都是比较重要的,后续会经常代入。

    之后可以利用 P 矩阵写出上时刻的参数估计矩阵 θ_hat(k - 1) 以及 当前时刻的参数估计矩阵 θ_hat(k):

    此时,再引入一个矩阵 K = P * φ:

    求解这个K的递推方程需要引入一个特殊的等式,之后就可以求解出 K 矩阵与 P矩阵的递推方程:

    联立后,可以得出最终的递推方程:

    实验

    在原理推导结束后,可以使用matlab进行实验验证,同样的,像批处理最小二乘法中举的例子一样,假设有一个传递函数 G = b0 / (a0*s^2 + a1*s + a2),可以将其转化为状态空间的形式:

    设置一下初始的参数:

    使用一个扫频信号来作为系统的输入,然后使用递推最小二乘法进行实时辨识:

    需要注意的是,我们在写系统参数矩阵时,代入的为如下的参数:

    在求出估计矩阵 θ_hat(k) 后,通常我们将分母的最高次项置1,即 a0 = 1,那么其他的系数就可以求解出来了,这里我设置了一个初始系统参数值,跟原始参数还是有所区别的:

    在运行程序后,得到的辨识结果为:

    可以看到已经相差无几。

  • 相关阅读:
    马来西亚考虑对TikTok电商实施禁令:定价和数据隐私问题浮出水面
    Y4455芯片开发的433遥控流水灯方案
    工业交换机常见的故障有哪些?
    嵌入式操作系统的特点
    托管网站需要知道的网站优化指标有哪些
    亿级流量下平滑扩容:TDSQL水平扩容方案实践
    C#扩展桌面的处理
    【vue2 vuex】store state mutations actions状态管理(草稿一留存)
    程序的环境
    Spring Data JPA 之 多数据源配置
  • 原文地址:https://blog.csdn.net/a_xiaoning/article/details/125863268
  • 最新文章
  • 沪漂五周年了:我越来越迷茫了
    Agentic Skill Routing 实战:别再把所有 Skill 塞进 AI Agent 上下文
    MySQL-Seconds_behind_master的精度误差
    [MAF预定义ChatClient中间件-03]CachingChatClient——利用缓存省钱省时间
    AI的至暗历史:从万众期待到被政府撤资,AI的两次死亡徘徊
    Agent OS :五种驯服不确定性的范式
    PortSwigger SQL注入LAB11
    数据库即时编译JIT
    [Begin]AI Learn Data Day 0
    深度学习进阶(二十七)现代 LLM 的核心架构设计其二:SwiGLU
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
小工具 小游戏
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1

京公网安备 11010502049817号