现代控制中可控性的Gramian判据

在这里插入图片描述
知乎三角猫frank对于这块内容写的非常好,但这个输入的构造还是很难过于没头没尾
数学好的人,可能看一眼根据形式就能推出gramian的构造,但对我这种比较钻牛角尖的人,我就想有一个逻辑链条——gramian是怎么被构造出来的?

我们回到问题本身,就以能控性为例子(和上面的rechability不太一样)

在这里插入图片描述

这里的 x ( 0 ) x(0) x(0)是任意一个n维的向量 我们想找一个条件,让这个等式成立
也就是找一个可控的充分条件
显然我们只能从 u ( τ ) u(\tau) u(τ)下手,通过构造适当的 u ( τ ) u(\tau) u(τ),让系统能够回到零状态,也就是能控

对于控制输入,我们知道自动控制里 要么是开环 要么是闭环

对于一般的系统,我们先尝试用状态反馈进行闭环控制
如果是闭环,那么控制输入 u m × 1 u_{m\times 1} um×1应该长成这样

u ( τ ) = u ( τ , x ) = u ( τ , x ( τ ) ) u(\tau) = u(\tau,x) = u(\tau,x(\tau)) u(τ)=u(τ,x)=u(τ,x(τ))

因此状态反馈的输入可以尝试用
u ( τ ) = − A x ( τ ) u(\tau) = -Ax(\tau) u(τ)=Ax(τ)

或者
u ( τ ) = − e A τ x ( τ ) u(\tau) = -e^{A\tau}x(\tau) u(τ)=eAτx(τ)

但是这样维数对不上, u ( τ ) = − A x ( τ ) u(\tau) = -Ax(\tau) u(τ)=Ax(τ) n × 1 n\times 1 n×1的向量

因此你可能会想引入 B n × m B_{n \times m} Bn×m
让输入变成一个 m × 1 m\times 1 m×1的向量
也就是
u ( τ ) = − B ∗ A x ( τ ) u(\tau) = -B^*Ax(\tau) u(τ)=BAx(τ)
或者
u ( τ ) = − B ∗ e A τ x ( τ ) u(\tau) = -B^*e^{A\tau}x(\tau) u(τ)=BeAτx(τ)

既然你都转置了一个,那不如就
u ( τ ) = − B ∗ A ∗ x ( τ ) u(\tau) = -B^*A^*x(\tau) u(τ)=BAx(τ)
或者
u ( τ ) = − B ∗ e A ∗ τ x ( τ ) u(\tau) = -B^*e^{A^*\tau}x(\tau) u(τ)=BeAτx(τ)

那干脆就用 u ( τ ) = − B ∗ e A ∗ τ x ( τ ) u(\tau) = -B^*e^{A^*\tau}x(\tau) u(τ)=BeAτx(τ)
x ( 0 ) = ∫ e − A τ B B ∗ e A ∗ τ x ( τ ) d τ x(0) = \int e^{-A\tau} BB^*e^{A^*\tau}x(\tau) d \tau x(0)=eAτBBeAτx(τ)dτ

为了对称,不如写成
x ( 0 ) = ∫ e − A τ B B ∗ e − A ∗ τ x ( τ ) d τ x(0) = \int e^{-A\tau} BB^*e^{-A^*\tau}x(\tau) d \tau x(0)=eAτBBeAτx(τ)dτ
但这样有一个问题,你从这里的不出任何有用的结果

但如果视为开环控制 把 x ( τ ) x(\tau) x(τ)视为一个常向量 y y y
x ( 0 ) = ∫ e − A τ B B ∗ e − A ∗ τ y d τ = [ ∫ e − A τ B B ∗ e − A ∗ τ d τ ] y x(0) = \int e^{-A\tau} BB^*e^{-A^*\tau}y d \tau = [\int e^{-A\tau} BB^*e^{-A^*\tau} d \tau ] y x(0)=eAτBBeAτydτ=[eAτBBeAτdτ]y

由于 y y y是任取的,那我们现在就得到了一个充分条件(注意 必要性还得不到)

即如果 W = ∫ e − A τ B B ∗ e − A ∗ τ d τ W = \int e^{-A\tau} BB^*e^{-A^*\tau} d \tau W=eAτBBeAτdτ是一个非奇异矩阵( n × n n \times n n×n)
则系统可控

为什么叫它格拉姆矩阵
因为一般格拉姆矩阵就是长这个样子 先内积再积分
这个只是一个特定的格拉姆矩阵形式

ok,那么你得到了充分性条件,而这个条件的必要性竟然很容易验证
怎么验证呢…显然最常用的手段就是反证法(一般验证充分条件必要性的方法)
就是说,你假设可控,但这个你构造出来的格拉姆矩阵是奇异的,然后会导致矛盾,具体的就不说了,大家可以自己证明.
然后你发现真的矛盾,也就是说

你偶然间发现了一个可控性的充要条件,一篇TAC到手

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/682851.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

eNSP学习——配置RIPv2认证

目录 主要命令 原理概述 实验目的 实验内容 实验拓扑 实验编址 实验步骤 1、基本配置 2、搭建RIP网络 3、模拟网络攻击 4、配置RIPv2简单验证 5、配置RIPv2 MD5密文验证 需要eNSP各种配置命令的点击链接自取:华为eNSP各种设备配置命令大全PD…

区块链游戏(链游)安全防御:抵御攻击的策略与实践

一、引言 区块链游戏,或称为链游,近年来随着区块链技术的普及而迅速崛起。然而,如同其他任何在线平台一样,链游也面临着各种安全威胁。本文将探讨链游可能遭遇的攻击类型以及如何通过有效的策略和技术手段进行防御。 二、链游可…

如何手动批准内核扩展 Tuxera NTFS for mac内核扩展需要批准 内核扩展怎么打开

在了解如何手动批准内核扩展之前,我们应该先了解什么叫做内核扩展。内核扩展又被称为KEXT,通过它可以实现macOS系统与软件组件之间的交互,例如磁盘管理、任务管理和内存管理等等。 kext 是内核扩展(Kernel Extension)…

[ue5]建模场景学习笔记(2)——用vectornoise降低重复率

1.问题分析: 利用改uv的方式降低重复率并不理想,在一定程度上的确能够达到降低重复率的效果,但远看仍然有较清晰的重复效果,尝试优化一下。 2.操作实现: 1.首先先看一下修改后的效果: 这是未修改前&#…

arco disign 封装数值范围组件

实现效果: 环境:vue3 arco disign vue a_input_number 实现代码: NumRange.vue <template> <span><a-input-numberv-model"minValue"style"width: 45%"v-bind"options"input"minInput"/><span:style"{…

Vue3中的常见组件通信之mitt

Vue3中的常见组件通信之mitt 概述 ​ 在vue3中常见的组件通信有props、mitt、v-model、 r e f s 、 refs、 refs、parent、provide、inject、pinia、slot等。不同的组件关系用不同的传递方式。常见的撘配形式如下表所示。 组件关系传递方式父传子1. props2. v-model3. $refs…

JMeter的基本使用

JMeter的基本使用三步骤&#xff1a;1.添加线程、2.添加请求、3.添加查询结果的内容 如果需要添加token请求头来验证&#xff0c;则需要再加上一步骤&#xff1a;添加请求头 1.线程 添加线程的方式 主要修改者三个属性值 Number of Threads&#xff1a;并发线程数 Ramp-up…

转转回收业务策略中心的实践

1 背景 回收业务发展日益壮大&#xff0c;我们在邮寄、上门、门店三大履约模式下的业务逻辑日益复杂。同样都是在做回收这一个业务&#xff0c;即便履约方式不同&#xff0c;也有很多业务概念是一致的。为了避免各个业务闷头造轮子&#xff0c;同时又能拉齐三端的业务标准&…

王学岗鸿蒙开发(北向)——————(二)TS基本语法详解

1&#xff0c;Ts(TypeScript)语法相当于JAVAScript类型&#xff0c;鸿蒙arkTs是基于TS语言的,当然artTs也融合了其它的语言。 2&#xff0c;本篇文章是基于n9版本。注意,有些语法是已经不能用的。 3&#xff0c; 4&#xff0c;变量:用来存储数据,数字字母组成&#xff0c;数字不…

Java线程本地变量ThreadLocal

ThreadLocal ThreadLocal有什么用 通常情况下&#xff0c;我们创建的变量是可以被任何一个线程访问并修改的。如果想实现每一个线程都有自己的专属本地变量该如何解决呢&#xff1f; JDK中的ThreadLocal类正是为了解决这样的问题&#xff0c;ThreadLocal类主要解决的就是让每…

关于yolov8识别滑块关键点

1&#xff0c;images,annotations创建 IMAGES&#xff1a;放图片材料的 ANNTATIONS&#xff1a;放labelImg标记的xml文件 2&#xff0c;labels,txt怎么来的 labels &#xff1a;可以手动创建&#xff0c;里面还配置了train,val,test文件夹。可手动&#xff08;以下代码中没有写…

【办公类-04-02】华为助手导出照片读取拍摄时间分类导出,视频不行)

背景需求 今天我用QQ相册导出照片&#xff0c;但是始终在转圈&#xff0c;手机上无法跳出“连结“”的提示&#xff0c;换了台式和笔记本都无法传输。&#xff08;明明5月14日还可以导出的&#xff09; 最后我只能用华为传输助手&#xff0c;把照片快速提取出来了。 使用原来…

Java--什么是方法

1.Java方法是语句的集合&#xff0c;它们在一起执行一个功能 1.方法是解决一类问题的步骤的有序组合 2.方法包含于类和对象中 3.方法在程序中被创建&#xff0c;在其他地方被引用 2.设计方法的原则&#xff1a;方法的本意是功能块&#xff0c;就是实现某个功能的语句块的集合&…

苹果宣布将对App Store条款进行一系列更新和改变

据了解&#xff0c;App Store将为开发者提供多项举措。包括开发者可以向用户介绍他们在iOS App之外的购买选项&#xff1b;增加开发者针对订阅、App内购买与付费App可提供的价格点数量&#xff1b;设立一项新基金&#xff0c;以协助符合资质的美国开发者等。 具体七项举措如下&…

2024050401-重学 Java 设计模式《实战代理模式》

重学 Java 设计模式&#xff1a;实战代理模式「模拟mybatis-spring中定义DAO接口&#xff0c;使用代理类方式操作数据库原理实现场景」 一、前言 难以跨越的瓶颈期&#xff0c;把你拿捏滴死死的&#xff01; 编程开发学习过程中遇到的瓶颈期&#xff0c;往往是由于看不到前进…

simulink如何配置自动代码生成

simulink如何配置我们的自动代码生成 仿真时间设置我们仿真我们这个模型的一个时间&#xff0c;目前默认它是10秒。如果把它改成“INF”&#xff0c;它就是会一直仿真。 求解器选择&#xff0c;因为我们使用的是嵌入式代码&#xff0c;因此我们一般嵌入式是一个数字量。所以选…

俞敏洪一句“乱七八糟”,让东方甄选跌了40亿

“虽然直播的特点就是能说会道&#xff0c;但是网上那种买买买的嚎叫&#xff0c;我是完全看不起的”&#xff0c;俞敏洪在2023亚布力论坛上颇为自豪地说。 在他看来&#xff0c;“直播带货”本质上也是教育的一种&#xff0c;对产品进行知识性讲解才是最核心的一环。而知识传…

【网络编程开发】4.socket套接字及TCP的实现框架 5.TCP多进程并发

4.socket套接字及TCP的实现框架 Socket套接字 Socket套接字是网络编程中用于实现不同计算机之间通信的一个基本构建块。 在现代计算机网络中&#xff0c;Socket套接字扮演着至关重要的角色。它们为应用程序提供了一种方式&#xff0c;通过这种方式&#xff0c;程序能够通过网…

人工智能芯片封装技术及应用趋势分析

简介人工智能&#xff08;AI&#xff09;、物联网&#xff08;IoT&#xff09;和大数据的融合正在开创全新的智能时代&#xff0c;以智能解决方案改变各行各业。人工智能芯片在支持人工智能学习和推理计算方面发挥着非常重要的作用&#xff0c;可实现各行各业的多样化应用。 本…

代码随想录算法训练营day29|491.递增子序列、46.全排列、47.全排列II

递增子序列 491. 非递减子序列 - 力扣&#xff08;LeetCode&#xff09; 非递减子序列&#xff0c;则答案的子集中&#xff0c;需保持下一个元素大于等于前一个元素的顺序&#xff0c;由于题目中指出&#xff0c;所有的子序列长度需大于等于2&#xff0c;考虑当条件为path.siz…