控制理论simulink+matlab

控制理论下的simulink和matlab使用

  • 根轨迹
  • LQR控制器简单使用
  • 状态观测器设计

根轨迹

z = [-1];		%开环传递函数的零点
p = [0 -2 -3 -4];    %开环传递函数的系统极点
k = 1;				%开环传递函数的系数,反映在比例上
g = zpk(z,p,k);		%生成开环传递函数%生成的传递函数如下
%         (s+1)
% -------------------
% s (s+2) (s+3) (s+4)
rlocus(g);			%生成根轨迹图

闭环传递函数的极点随着闭环传递函数转化而来的开环传递函数带的比例系数K从0->∞的轨迹

LQR控制器简单使用

LQR:线性二次型调节器
假设状态向量为 z ( t ) \bold{z(t)} z(t),状态矩阵为 A \bold{A} A,输入矩阵为 B \bold{B} B,输出矩阵为 C \bold{C} C,直接传递矩阵为 D \bold{D} D,整个状态空间方程如下:
d z ( t ) d t = A z ( t ) + B u ( t ) y ( t ) = C z ( t ) + D u ( t ) \frac {\large d \bold{z}(\rm t)} {\large d \rm t} = \bold{Az(\rm t)} + \bold{Bu(\rm t)} \\ \bold{y}(\rm t) = \bold{C}\bold{z}(\rm t) + \bold{Du}(\rm t) dtdz(t)=Az(t)+Bu(t)y(t)=Cz(t)+Du(t)
只考虑状态方程,
d z ( t ) d t = A z ( t ) + B u ( t ) \frac {\large d \bold{z}(\rm t)} {\large d \rm t} = \bold{Az(\rm t)} + \bold{Bu(\rm t)} dtdz(t)=Az(t)+Bu(t)
引入线性状态反馈控制,令 u ( t ) = − K z ( t ) \bold {u} (\rm t) = \bold {-Kz}(t) u(t)=Kz(t),则此时 d z ( t ) d t = A z ( t ) − B K z ( t ) = ( A − B K ) z ( t ) \frac {\large d \bold{z}(\rm t)} {\large d \rm t} = \bold{Az(\rm t)} - \bold{BKz(\rm t)} \\ = \bold {(A- BK)z}(\rm {t}) dtdz(t)=Az(t)BKz(t)=(ABK)z(t)
下面给出两个矩阵 Q \bold Q Q R \bold R R,作为 z ( t ) \bold{z}(\rm t) z(t)中两个状态变量的权重占比和 u ( t ) \bold{u}(\rm t) u(t)输入的权重占比

A = [0 1;10 0];
B = [0;-1];Q = [100 0;0 1];    %Q代表状态变量z(t)的权重占比
R = 0.01;			%R代表输入u(t)的权重占比K = lqr(A,B,Q,R);	%根据Q和R计算出最优的状态反馈矩阵

下图就是在matlab中计算的最佳K值
在这里插入图片描述

状态观测器设计

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

使用Swift Package Manager (SPM)实现xcframework分发

Swift Package Manager (SPM) 是苹果官方提供的用于管理 Swift 项目的依赖关系和构建过程的工具。它是一个集成在 Swift 编程语言中的包管理器,用于解决在开发过程中管理和构建包依赖项的需求。 Package结构 一个 Package(包)由 Swift 源码…

Java数据结构-模拟ArrayList集合思想,手写底层源码(1),底层数据结构是数组,编写add添加方法,正序打印和倒叙打印

package com.atguigu.structure; public class Demo02_arrayList {public static void main(String[] args) {MyGenericArrayListV1 arrayListV1 new MyGenericArrayListV1();//arr.add(element:100,index:1);下标越界,无法插入//初始化(第一次添加&…

运维知识点-Kubernetes_K8s

Kubernetes RBAC配置不当攻击场景攻击过程 RBAC配置不当 Service Account本质是服务账号,是Pod连接K8s集群的凭证。 在默认情况下,系统会为创建的Pod提供一个默认的Service Account, 用户也可以自定义Service Account,与Service…

警惕Mallox勒索病毒的最新变种mallox,您需要知道的预防和恢复方法。

引言: 在当今数字时代,勒索病毒已经成为网络安全领域的一大威胁,而其中之一的.mallox勒索病毒更是具有高度破坏性。本文将深入介绍.mallox勒索病毒,包括其攻击方式、数据加密特征,以及如何有效恢复被加密的数据文件&a…

SparkSQL的编程模型(DataFrame和DataSet)

1.2 SparkSQL的编程模型(DataFrame和DataSet) 1.2.1 编程模型简介 主要通过两种方式操作SparkSQL,一种就是SQL,另一种为DataFrame和Dataset。 SQL SQL不用多说,就和Hive操作一样,但是需要清楚一点的时候,SQL操作的是…

【科技前沿】数字孪生技术改革智慧供热,换热站3D可视化引领未来

换热站作为供热系统不可或缺的一部分,其能源消耗对城市环保至关重要。在双碳目标下,供热企业可通过搭建智慧供热系统,实现供热方式的低碳、高效、智能化,从而减少碳排放和能源浪费。通过应用物联网、大数据等高新技术,…

数据库操作习题12.12

考虑如下的人员数据,其中加下划线的是主码,数据库模式由四个关系组成: employee (empname, street, city) works (empname, compname, salary) company(id, compname, city) managers (empname, mgrname) 其中 关系 employee 给出人员的基本信息,包括人员…

【hadoop】解决浏览器不能访问Hadoop的50070、8088等端口?!

【hadoop】解决浏览器不能访问Hadoop的50070、8088等端口?!😎 前言🙌【hadoop】解决浏览器不能访问Hadoop的50070、8088等端口?!查看自己的配置文件:最终成功访问如图所示: 总结撒花…

2023年度佳作:AIGC、AGI、GhatGPT 与人工智能大模型的创新与前景展望

🎬 鸽芷咕:个人主页 🔥 个人专栏:《linux深造日志》《粉丝福利》 ⛺️生活的理想,就是为了理想的生活! ⛳️ 写在前面参与规则 ✅参与方式:关注博主、点赞、收藏、评论,任意评论(每人最多评论…

Unity | Shader基础知识(第八集:案例<漫反射材质球>)

目录 一、本节介绍 1 上集回顾 2 本节介绍 二、什么是漫反射材质球 三、 漫反射进化史 1 三种算法结果的区别 2 具体算法 2.1 兰伯特逐顶点算法 a.本小节使用的unity自带结构体。 b.兰伯特逐顶点算法公式 c.代码实现——兰伯特逐顶点算法 2.2 代码实现——兰伯特逐…

基于MLP完成CIFAR-10数据集和UCI wine数据集的分类

基于MLP完成CIFAR-10数据集和UCI wine数据集的分类,使用到了sklearn和tensorflow,并对图片分类进行了数据可视化展示 数据集介绍 UCI wine数据集: http://archive.ics.uci.edu/dataset/109/wine 这些数据是对意大利同一地区种植的葡萄酒进…

Linux调试器gdb的用法

Linux调试器gdb的用法 1. debug/release版本之间的比较2. gdb调试器的基本指令3. 使用展示 1. debug/release版本之间的比较 在之前学习C语言的的时候出过一期vs的调试技巧。 而对于现在的Linux下的调试器gdb其实也是换汤不换药的,基本上的调试思路是不会改变的&am…

http -- 跨域问题详解(浏览器)

参考链接 参考链接 1. 跨域报错示例 Access to XMLHttpRequest at http://127.0.0.1:3000/ from origin http://localhost:3000 has been blocked by CORS policy: Response to preflight request doesnt pass access control check: No Access-Control-Allow-Origin header…

【Java 集合】LinkedBlockingDeque

在开始介绍 LinkedBlockingDeque 之前, 我们先看一下 LinkedBlockingDeque 的类图: 从其中可以看出他直接实现了 BlockingDeque 接口, 而 BlockingDeque 又实现了 BlockingQueue 的接口, 所以它本身具备了队列的特性。 而实现 BlockingDeque 使其在 BlockingQueue 的基础上多了…

Spring Boot自动装配原理以及实践

了解自动装配两个核心 Import注解的作用 Import说Spring框架经常会看到的注解,它有以下几个作用: 导入Configuration类下所有的bean方法中创建的bean。导入import指定的bean,例如Import(AService.class),就会生成AService的bean&#xff0…

获取请求体中json数据并解析到实体对象

目录 相关依赖 前端代码 后端代码 测试结果 相关依赖 <dependency><groupId>com.alibaba</groupId><artifactId>fastjson</artifactId><version>1.2.83</version> </dependency> <dependency><groupId>comm…

02 ModBus TCP

目录 一、ModBus TCP 一帧数据格式 二、0x01 读线圈状态 三、0x03读保持寄存器 四、0x05写单个线圈 五、0x06 写单个寄存器 六、0x0f写多个线圈 七、0x10&#xff1a;写多个保持寄存器 八、通信过程 九、不同modbus通信模式的应用场景 一、ModBus TCP 一帧数据格式 其…

fill-in-the-middle(FIM) 实现与简单应用

1 背景 传统训练的 GPT 模型只能根据前文内容预测后文内容&#xff0c;但有些应用比如代码生成器&#xff0c;需要我们给出上文和下文&#xff0c;使模型可以预测中间的内容&#xff0c;传统训练的 GPT 就不能完成这类任务。 传统训练的 GPT 只能根据上文预测下文 使用 FIM…

基于Pytest+Requests+Allure实现接口自动化测试

一、整体结构 框架组成&#xff1a;pytestrequestsallure 设计模式&#xff1a; 关键字驱动 项目结构&#xff1a; 工具层&#xff1a;api_keyword/ 参数层&#xff1a;params/ 用例层&#xff1a;case/ 数据驱动&#xff1a;data_driver/ 数据层&#xff1a;data/ 逻…

玩转大数据19:数据治理与元数据管理策略

随着大数据时代的到来&#xff0c;数据已经成为企业的重要资产。然而&#xff0c;如何有效地管理和利用这些数据&#xff0c;成为了一个亟待解决的问题。数据治理和元数据管理是解决这个问题的关键。 1.数据治理的概念和重要性 数据治理是指对数据进行全面、系统、规范的管理…