参考链接:http://120.52.51.14/stanford.edu/class/ee363/lectures/dlqr.pdf

本文参考讲义中的第20页PPT,根据Hamilton-Jacobi方法,推导得到黎卡提方程的数值迭代求解方法(可实时在线求解黎卡提方程),具体推导过程请参考PPT。本文列出最后的结论及对应的matlab代码,其他编程语言也可参考贴出的代码自行改编。

对应的matlab代码如下:

%%%参考文献dlqr
close all
A=[1 1;0 1];
B=[0;1];
C=[1 0];
Q=C'*C;
Qf=C'*C;
R=10*ones(1,1);
[p,L,k] = dare(A,B,Q,R)x0=[100;10]*1e-2;
N=20;%每一时间步求解器迭代次数,一般20足够,若不收敛,则适当增大该值P=zeros(2,2,N+1);P(:,:,N+1)=Qf;for t=2:(N+1)tUsed=(N+3-t);P(:,:,tUsed-1)=Q+A'*P(:,:,tUsed)*A-A'*P(:,:,tUsed)*B/(R+B'*P(:,:,tUsed)*B)*B'*P(:,:,tUsed)*A;
end
s=P(:,:,1)K=zeros(N,2);
U=zeros(N,1);
X=zeros(N+1,2);
X(1,:)=x0;
for t=1:NK(t,:)=-(R+B'*P(:,:,t+1)*B)\B'*P(:,:,t+1)*A;U(t,:)=K(t,:)*X(t,:)';X(t+1,:)=(A*X(t,:)'+B*U(t,:))';
end
k=K(1,:)figure (30)
PlotX=1:N;
plot(PlotX,K(:,1),'o-b');
hold on
plot(PlotX,K(:,2),'o-r');
title('反馈系数K')figure (40)
PlotX=1:N+1;
plot(PlotX,X(:,1),'o-b');
hold on
plot(PlotX,X(:,2),'o-r');
title('状态X')figure (50)
PlotX=1:N;
plot(PlotX,U(:,1),'o-b');
title('控制输入U')

  

转载于:https://www.cnblogs.com/geyanwu/p/10438759.html

线性二次型调节器LQR/LQC算法解析及求解器代码(matlab)相关推荐

  1. lingo与matlab用哪个?matlab能代替lingo吗?非线性规划求解器Lingo,Matlab使用心得

    对于非线性规划,Cplex 与Gurobi只支持二次规划(包括凸规划,二阶锥规划,目标函数或约束条件中可以包含二次函数).若更高次数,或者非凸规划,非二阶锥规划,则需要用其他求解器了.matlab 自 ...

  2. 基于matlab的捕食算法,【优化求解】基于matlab细菌觅食算法的函数优化分析【含Matlab源码 217期】...

    一.简介 实际生活需求促进了最优化方法的发展.近半个多世纪以来,由于传统优化方法的不足,一些具有全局优化性能且通用性强的进化算法,因其高效的优化性能.无需问题精确描述信息等优点,受到各领域广泛的关注和 ...

  3. 全排列算法解析(视频+详解+代码+STL)

    全排列生成算法 刚开始自学的时候搜了两三个scdn中关于讲解全排列问题的博客,但是我理解能力比较差还是没有完全理解 ,后来就在网上搜索了视频才完全弄懂,现在把我理解的分享给你们. 学习视频:http: ...

  4. CST入门——求解器简介与时域、频域和积分求解器设置

    目录 1. 高频电磁仿真求解器简介 1.1. 时域求解器 Time Domain Solver(主) 1.2. 频域求解器 Frequency Domain Solver(主) 1.3. 本征模求解器 ...

  5. chtMultiRegionFoam求解器及算例分析

    1. 算例分析 1.1. 算例结构 算例目录heatTransfer/chtMultiRegionFoam/heatedDuct 0 fluid p p_rgh T U heater T metal ...

  6. 关于求解微分方程——初学Matlab里的 ODE求解器

    学习背景 最近想挖掘一下自己项目的理论深度,于是找到了老师.在老师的建议下,我们开始了漫长的研读老师的论文的旅程(论文名:Optimal Design of Adaptive Robust Contr ...

  7. 机器学习(优化算法二)——梯度下降-代码实现

    上篇博客说的是梯度下降法,主要讲的原理及公式推导,这篇博客来进行代码实现.包括手动模拟梯度下降的方式来进行求解,以及运用自己实现的梯度下降来完成一个线性回归的例子. 模拟梯度下降 求解 这里手动模拟梯 ...

  8. 【JY】No.7.1力学架构结构力学求解器(SM)使用教程

    软件讲解示例之理论(电算/手算)分析思路: 1.结构建模,并完成结构假定,如定义梁端弯矩释放(详见第二章). 2.线性屈曲分析(是否失稳破坏分析): 3.强度/挠度计算:(构件本身强度是否达标) 4. ...

  9. Simulink求解器综合介绍

    目录 1. 概要 2. Simulink求解器 2.1 Simulink仿真过程 2.2 Simulink求解器分类 2.3 Simulink仿真参数设置界面 3. 定步长求解器 fixed step ...

最新文章

  1. 谈谈我理解的文化包容性
  2. Docker常用命令(docker快捷键)海康docker命令 LY
  3. 【ASP.NET Core 沉思录】CreateWebHostBuilder 是一个 Convension
  4. 苹果:iOS 比 Android 更安全!
  5. 三探云原生全景图,这次聊聊运行时层
  6. 程序员30岁之前如何月入五万
  7. 复数基础——复数的绝对值,复数的极坐标形式的直观解释练习_8
  8. Python读取Excel文件统计演员参演电影
  9. Unitest框架的使用(一)准备工作,接口定义和Unittest方法
  10. C语言中abs()用法及其他绝对值函数
  11. Linux下ffmpeg批量转换图片
  12. Photoshop小技巧
  13. 延时delay1s程序 c语言,汇编语言软件延时1s的实现方法
  14. qt - the inferior stopped because it received a signal from the operation system.
  15. Linux-脚本安装、快照、重置虚拟机
  16. 【日麻雀魂】何切300问 维持最大牌效
  17. optimizeinplace
  18. 安装Redhat 7.2
  19. TryHackMe学习笔记-Windows PrivEsc Arena
  20. 章鱼体验思杰第二天:

热门文章

  1. 随笔——研一,研究不出啥是啥
  2. AJAX步步精心系列(一)AJAX简介
  3. 深入浅出C语言:(四)函数
  4. 非均匀变异的互利自适应缎蓝园丁鸟优化算法-附代码
  5. 必备软件——下载工具
  6. javaweb 文件上传
  7. 一克500元比黄金还贵的片仔癀,炒作退潮“中药茅”要“黄”了?
  8. 使用MSXML2解析XML文件
  9. 一个VB VB.NET源码的博客网站,不错
  10. android elevation 白色,使用android:elevation在LinearLayout上投射阴影