学习笔记-状态方程精确离散化
假设连续系统的线性状态方程为:
x˙=Ax+bu\dot{ \mathbf{x}}=\mathbf{A}\mathbf{x}+\mathbf{b}ux˙=Ax+bu, x(0)=x0x(0)=x_0x(0)=x0
其状态转移矩阵为:
Φ(t)=∑k=0∞Aktkk!=eAt\mathbf{\Phi}(t)=\sum_{k=0}^{\infty} \mathbf{A}^{k} \frac{t^{k}}{k !}=e^{\mathbf{A} t}Φ(t)=∑k=0∞Akk!tk=eAt
其非齐次微分方程的解为:
x(t)=Φ(t−t0)x(t0)⏟齐次解 +∫t0tΦ(t−τ)bu(τ)dτ⏟特解 \mathbf{x}(t)=\underbrace{\mathbf{\Phi}\left(t-t_{0}\right) \mathbf{x}\left(t_{0}\right)}_{\text {齐次解 }}+\underbrace{\int_{t_{0}}^{t} \mathbf{\Phi}(t-\tau) \mathbf{b} u(\tau) d \tau}_{\text {特解 }}x(t)=齐次解 Φ(t−t0)x(t0)+特解 ∫t0tΦ(t−τ)bu(τ)dτ
令t0:=tk=kTt_0:=t_k=kTt0:=tk=kT,并且t:=tk+1=(k+1)Tt:=t_{k+1}=(k+1)Tt:=tk+1=(k+1)T,则有
x(tk+1)=Φ(T)x(tk)+∫tktk+1Φ(tk+1−τ)bu(τ)dτ\mathbf{x}\left(t_{k+1}\right)=\mathbf{\Phi}(T) \mathbf{x}\left(t_{k}\right)+\int_{t_{k}}^{t_{k+1}} \Phi\left(t_{k+1}-\tau\right) \mathbf{b} u(\tau) d \taux(tk+1)=Φ(T)x(tk)+∫tktk+1Φ(tk+1−τ)bu(τ)dτ
因为采样保持,在一个采样区间里,输入控制变量恒定u(τ)=uk=constu(\tau)=u_k=\text{const}u(τ)=uk=const,t∈[tk,tk+1)t \in[t_k,t_{k+1})t∈[tk,tk+1),所以上式u(τ)u(\tau)u(τ)可以提出:
x(tk+1)=Φ(T)x(tk)+∫tktk+1Φ(tk+1−τ)bdτuk\mathbf{x}\left(t_{k+1}\right)=\mathbf{\Phi}(T) \mathbf{x}\left(t_{k}\right)+\int_{t_{k}}^{t_{k+1}} \Phi\left(t_{k+1}-\tau\right) \mathbf{b} d \tau u_kx(tk+1)=Φ(T)x(tk)+∫tktk+1Φ(tk+1−τ)bdτuk
换元,tk+1−τ=κt_{k+1}-\tau=\kappatk+1−τ=κ,所以dκ=d(tk+1−τ)=−dτd\kappa = d(t_{k+1}-\tau)=-d\taudκ=d(tk+1−τ)=−dτ
x(tk+1)=Φ(T)x(tk)+∫T0−Φ(κ)bdκuk\mathbf{x}\left(t_{k+1}\right)=\mathbf{\Phi}(T) \mathbf{x}\left(t_{k}\right)+\int_{T}^{0} -\Phi\left( \kappa \right) \mathbf{b} d \kappa u_kx(tk+1)=Φ(T)x(tk)+∫T0−Φ(κ)bdκuk
x(tk+1)=Φ(T)x(tk)+∫0TΦ(κ)bdκuk\mathbf{x}\left(t_{k+1}\right)=\mathbf{\Phi}(T) \mathbf{x}\left(t_{k}\right)+\int_{0}^{T} \Phi\left( \kappa \right) \mathbf{b} d \kappa u_kx(tk+1)=Φ(T)x(tk)+∫0TΦ(κ)bdκuk
比较离散状态方程x(tk+1)=Adx(tk)+bduk\mathbf{x}(t_{k+1})=\mathbf{A}_d\mathbf{x}(t_k)+\mathbf{b}_d u_kx(tk+1)=Adx(tk)+bduk
Ad=Φ(T)=∑k=0∞AkTkk!=eAT\mathbf{A}_{d}=\mathbf{\Phi}(T)=\sum_{k=0}^{\infty} \mathbf{A}^{k} \frac{T^{k}}{k !}=e^{\mathbf{A} T}Ad=Φ(T)=∑k=0∞Akk!Tk=eAT
bd=∫0TΦ(κ)bdκ\mathbf{b}_{d}=\int_{0}^{T} \mathbf{\Phi}(\kappa) \mathbf{b} d \kappabd=∫0TΦ(κ)bdκ
cdT=cT\mathbf{c}_{d}^{\mathrm{T}}=\mathbf{c}^{\mathrm{T}}cdT=cT
离散的动态系数矩阵为指数矩阵,求解方法为连续矩阵求和,只有当k→∞k\to\inftyk→∞ 能够取到无穷阶才有完全精确的表达。自然和连续的动态矩阵A\mathbf{A}A不一样。
如果是非线性系统,没有微分方程的通解,那也可以采用同样的思路,对非线性的状态方程采取欧拉法,乃至龙格库塔法逼近。
以上转自知乎用户 善道 在问题如何理解状态空间中状态方程系数矩阵的离散化后的结果?下的回答,仅作个人笔记使用。
当系统带有扰动时,系统的状态方程为:
x˙=Ax+bu+d(t)\dot{ \mathbf{x}}=\mathbf{A}\mathbf{x}+\mathbf{b}u+\mathbf{d}(t)x˙=Ax+bu+d(t), x(0)=x0x(0)=x_0x(0)=x0
同样采用知乎用户 善道 的方法
x(tk+1)=Φ(T)x(tk)+∫tktk+1Φ(tk+1−τ)bdτuk+∫tktk+1Φ(tk+1−τ)d(τ)dτ\mathbf{x}\left(t_{k+1}\right)=\mathbf{\Phi}(T) \mathbf{x}\left(t_{k}\right)+\int_{t_{k}}^{t_{k+1}} \Phi\left(t_{k+1}-\tau\right) \mathbf{b} d \tau u_k+\int_{t_{k}}^{t_{k+1}} \Phi\left(t_{k+1}-\tau\right)\mathbf{d}(\tau)d\taux(tk+1)=Φ(T)x(tk)+∫tktk+1Φ(tk+1−τ)bdτuk+∫tktk+1Φ(tk+1−τ)d(τ)dτ
换元,tk+1−τ=κt_{k+1}-\tau=\kappatk+1−τ=κ
x(tk+1)=Φ(T)x(tk)+∫0TΦ(κ)bdκuk+∫0TΦ(κ)d((k+1)T−κ)dκ\mathbf{x}\left(t_{k+1}\right)=\mathbf{\Phi}(T) \mathbf{x}\left(t_{k}\right)+\int_{0}^{T} \Phi\left( \kappa \right) \mathbf{b} d \kappa u_k +\int_{0}^{T} \Phi\left( \kappa \right) \mathbf{d}\left( \left(k+1 \right)T-\kappa \right) d \kappax(tk+1)=Φ(T)x(tk)+∫0TΦ(κ)bdκuk+∫0TΦ(κ)d((k+1)T−κ)dκ
学习笔记-状态方程精确离散化相关推荐
- 金融风控-贷款违约预测学习笔记(Part3:特征工程)
金融风控-贷款违约预测学习笔记(Part3:特征工程) 1.特征预处理 1.1 处理类别型特征和数值型特征 1.2 缺失值填充 1.3 时间格式处理 1.4 将对象类型特征转换到数值 1.5 类别特征 ...
- [非卷积5D中文翻译及学习笔记] 神经辐射场 NeRF: Representing Scenes as Neural Radiance Fields for View Synthesis
不使用3D建模,使用静态图片进行训练,用(非卷积)深度网络表示场景的5D连续体表示,再通过ray marching进行渲染. 本中文翻译使用"机器学习+人工校准/注解"的方式完成. ...
- 百度Apollo自动驾驶学习笔记
Apollo学习笔记 作者:邹镇洪(清华大学车辆学院,个人主页 转到Github项目主页查看持续更新 转到Github项目主页查看持续更新 转到Github项目主页查看持续更新 本文是对百度Apoll ...
- matlab学习笔记3(控制系统仿真)
matlab学习笔记3(控制系统仿真) 1.典型二阶系统 H ( S ) = ω n 2 S 2 + 2 ξ ω n S + ω n 2 H\left(S\right)=\frac{\omega_n^ ...
- 初识SLAM到认识李群学习笔记
本文为学习高翔.张涛等著的<视觉SLAM十四讲>的学习笔记,通过研究视觉SLAM,从三维空间刚体运动引出群论和李代数. 1. 初识SLAM 单目相机以二维的形式记录了三维的世界,缺少场景的 ...
- 基于MVS的三维重建算法学习笔记(四)— 立体匹配经典算法Semi-Global Matching(SGM)论文翻译及要点解读
基于MVS的三维重建算法学习笔记(四)- 立体匹配经典算法Semi-Global Matching(SGM)论文翻译及要点解读 声明 SGM概述 Cost Calculation(像素代价计算)--M ...
- 嵌入式知识-ARM裸机-学习笔记(12):ADC模数转换器
嵌入式知识-ARM裸机-学习笔记(12):ADC模数转换器 一.ADC 1. 什么是ADC ADC(analog digital converter):模数转换(也就是模拟量转换为数字量).由于CPU ...
- 推荐系统学习笔记——特征工程
特征工程 一. 概述 二. 特征工程构建原则 三. 常用的特征有哪些 四. 常用的特征的处理方法 五. 特征选择 六. 总结 推荐系统学习笔记系列链接: 推荐系统学习笔记--特征工程 推荐系统学习笔记 ...
- 动态环境下的SLAM:DynaSLAM 论文学习笔记
动态环境下的SLAM:DynaSLAM 论文学习笔记 这篇文章 论文摘要 系统流程 相关环节的实现方法 神经网络检测图中动态物体(Mask R-CNN) Low-Cost Tracking 使用多视图 ...
- SVO 学习笔记(三)
SVO 学习笔记(三) 这篇博客 Initialization Frame_Handler_Mono processFirstFrame processSecondFrame processFrame ...
最新文章
- 引才125人!博士副处级待遇,硕士正科级,全部事业编​!限这些高校……
- Maven Unable to locate the Javac Compiler
- java线程池队列场景,Java面试题汇总
- springboot-24-restTemplate的使用
- Hadoop家族学习路线图
- python上下文管理关键字_[宜配屋]听图阁
- 1134:合法C标识符查
- DataTable方法 和 性能
- 排行榜上用C++写局域网聊天程序
- C语言——判断是该年的第几天
- shopex安装Zend Optimizer - 3.3.0后依然乱码
- python爬虫开发 urlparse、parse_qs、urlencode、quote、unquote、urljoin 用法总结
- Excel2010创建包含数据有效性的xls文件,再打开时有效性变无效
- 【金三银四】Java基础知识面试题(2021最新版)
- php风格模板,phpwind冷色调整站风格模板
- Oracle 服务器 客户端 US7ASCII、 UTF8字符编码问题
- 微信小程序开发入门手册
- 不能与牛肉一起吃的食物
- Arduino基础篇(二)-- 常用的基本函数
- 谷歌浏览器64位浏览器网页显示不完全修改方法
热门文章
- 关于VO、RVO、ORCA的个人理解
- h5背景图片尺寸怎么设置_html如何设置图片大小
- 移植wpa_supplicant-2.2
- 期权套利组合 matlab,期权交易:简单套利组合
- ubuntu Opencv4及扩展模块编译安装过程
- PPT - 双屏幕情况下,如何设置 PPT 不在主屏幕显示问题?
- android黑科技系列——手机端破解神器MT的内购VIP功能破解教程
- 学校教学的计算机网络教室它的网络类型,用于学校教学的计算机网络教室,它的网络类型属于( )...
- 三阶魔方层先法 复原公式
- Gamefi+山海经,流行与古风的结合,带你边玩边赚