1 概念

2 线性时变系统的跟踪问题

3 线性定常系统的跟踪问题

公式18--22为求解的关键     根据20、21分别求出P、g的值则通过18可求得期望的输出u

4 实例分析

5 仿真实验

先将上面的状态方程简化

建立模型

6 计算程序

 1 clear
2 clc
3 A=[0,1; 0,-2];
4 B=[0;20];
5 C=[1,0] ;
6 Q=1;
7 R=1;
8 yr=1;
9
10 syms x1 x2 %syms表示定义变量
11 P=are( A, B*inv(R)*B', C'*Q*C )
12
13 g=inv(P*B*inv(R)*B'-A')*C'*Q*yr
14
15 u=-inv(R)*B'*(P*[x1; x2]-g)

Matlab矩阵运算函数-are函数

1、area函数:Riccati方程求解

2、用法说明

Riccati方程的一般格式是:A'x+xA-xBx+C=0

x=are(A,B,C) A、B、C为上述描述的Riccati方程的系数矩阵,x是方程的解

3、用法实例

1 >> A = [2 4 3;5 7 3;8 9 2]
2
3 B = [3 6 4;7 3 9;4 8 2]
4
5 C = [3 5 1;6 7 2;8 9 3]
6 x = are(A,B,C)

运行结果

A =
2 4 3
5 7 3
8 9 2 B =
3 6 4
7 3 9
4 8 2 C =
3 5 1
6 7 2
8 9 3 x =
0.5085 1.1173 0.3129
1.1480 1.0844 0.6190
0.6894 0.8121 0.2959

线性二次型控制器(LQR)——轨迹跟踪器的更多相关文章

  1. 《Entity Framework 6 Recipes》中文翻译系列 (40) ------ 第七章 使用对象服务之从跟踪器中获取实体与从命令行生成模型(想解决EF第一次查询慢的,请阅读)

    翻译的初衷以及为什么选择<Entity Framework 6 Recipes>来学习,请看本系列开篇 7-5  从跟踪器中获取实体 问题 你想创建一个扩展方法,从跟踪器中获取实体,用于数 ...

  2. 《Entity Framework 6 Recipes》中文翻译系列 (45) ------ 第八章 POCO之获取原始对象与手工同步对象图和变化跟踪器

    翻译的初衷以及为什么选择<Entity Framework 6 Recipes>来学习,请看本系列开篇 8-6  获取原始对象 问题 你正在使用POCO,想从数据库获取原始对象. 解决方案 ...

  3. HTML5-新API-geolocation-实例-距离跟踪器

    <body onLoad="loadDemo()"> <header> <h1>oldmeter演示</h1> <h4> ...

  4. Linux IO性能分析blktrace/blk跟踪器

    关键词:blktrace.blk tracer.blkparse.block traceevents.BIO. 本章只做一个记录,关于优化Block层IO性能方法工具. 对Block层没有详细分析,对 ...

  5. 【文献08】多移动机器人轨迹跟踪控制系统设计与实现-运动学ADRC控制

    参考: 陈俊, 俞立, 滕游. 多移动机器人轨迹跟踪控制系统设计与实现[J]. 计算机测量与控制, 2017(7). https://drive.wps.cn/view/p/28819052019?f ...

  6. [转].NET 性能测试工具 -- 事件跟踪器(ETW)

    .NET 性能测试工具 -- 事件跟踪器(ETW) 内容预告: Windows内置工具(性能计数器) 事件跟踪器(WPT,PerfMoniter,PerfView,自定义ETW) 时间分析 内存分配分 ...

  7. Android 获取控件滑动速度,速度跟踪器VelocityTracker;

    VelocityTracker 速度跟踪器 在写关于Android滑动的控件,如果用户手指在屏幕上(当前位置 - 起始位置 > 某个数值)就做一个界面切换,但是总感觉太生硬,只有满足上面的条件才 ...

  8. Meteor跟踪器(Tracker)

    跟踪器是用于当模板会话变量发生了变化自动更新的一个小型库. 为了向你展示跟踪器是如何工作的,我们将创建按钮将用于更新会话. meteorApp/import/ui/meteorApp.html < ...

  9. 线性二次型调节器LQR/LQC算法解析及求解器代码(matlab)

    参考链接:http://120.52.51.14/stanford.edu/class/ee363/lectures/dlqr.pdf 本文参考讲义中的第20页PPT,根据Hamilton-Jacob ...

随机推荐

  1. 常见三种存储方式DAS、NAS、SAN的架构及比较

    转至:https://blog.csdn.net/shipeng1022/article/details/72862367 随着主机.磁盘.网络等技术的发展,数据存储的方式和架构也在一直不停改变,本文 ...

  2. kubernetes配置使用ceph动态存储

    在k8s集群中配置ceph 3.1.使用cephfs (1) 在ceph集群创建cephfs #以下操作在ceph集群的admin或者mon节点上执行 #创建pool来存储数据和元数据 ceph os ...

  3. Python3中__repr__和__str__区别

    示例: class Test(object): def __init__(self, value='hello, world!'): self.data = value >>> t ...

  4. 基于消息队列(RabbitMQ)实现延迟任务

    一.序言 延迟任务应用广泛,延迟任务典型应用场景有订单超时自动取消:支付回调重试.其中订单超时取消具有幂等性属性,无需考虑重复消费问题:支付回调重试需要考虑重复消费问题. 延迟任务具有如下特点:在未来 ...

  5. vue监听有无网络

    mounted () {     window.addEventListener('offline', function ($event) { alert('offline'); });     wi ...

  6. vcpkg 换源

    vcpkg 的下载速度饱受诟病已久,但是并不见官方团队的动作,虽然有人提了 issue,但是提交的代码并不符合要求. 我自己在下载包的时候,特别是在下载位于 github 的包时,下载直接中断,所以我 ...

  7. think php 多条件检索+自带分页+多条件搜索标红分页

    //视图<form action="/homework/homework/index" method="get"> <input type=& ...

  8. BBS项目分布搭建二(个人站点相关)

    BBS项目分布搭建二 1. 首页详情补充 # 在home.html文件中 body标签内补充: <div class="container-fluid"> <di ...

  9. 手写 Vue2 系列 之 编译器

    前言 接下来就要正式进入手写 Vue2 系列了.这里不会从零开始,会基于 lyn-vue 直接进行升级,所以如果你没有阅读过 手写 Vue 系列 之 Vue1.x,请先从这篇文章开始,按照顺序进行学习 ...

  10. Lua中如何实现类似gdb的断点调试—09支持动态添加和删除断点

    前面已经支持了几种不同的方式添加断点,但是必须事先在代码中添加断点,在使用上不是那么灵活方便.本文将支持动态增删断点,只需要开一开始引入调试库即可,后续可以在调试过程中动态的添加和删除断点.事不宜迟, ...