zoukankan      html  css  js  c++  java
  • 线性二次型控制器(LQR)——轨迹跟踪器

    1 概念

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

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

    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
    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
  • 相关阅读:
    Redis笔记
    java多线程 interrupt(), interrupted(), isInterrupted()方法区别
    策略模式
    外观模式
    Java线程池原理与架构分析
    状态模式
    模板方法模式
    LeetCode | Path-Sum
    实用工具
    IDEA springboot配置
  • 原文地址:https://www.cnblogs.com/zhj868/p/13834109.html
Copyright © 2011-2022 走看看