当前位置: 首页 > news >正文

【Matlab】简单控制系统建模(控制系统工具箱)

控制系统应用是MATLAB和Simulink的重点应用领域,它包括了被控对象建模、控制器设计、自动代码生成部署和系统验证全流程。具体如下:

  • 使用基本模型、系统辨识或自动参数估计对线性和非线性被控对象动态特性进行建模。
  • 配平、线性化和计算非线性 Simulink 模型的频率响应。
  • 使用根轨迹、波特图、LQR、LQG 和其他设计方法,基于被控对象模型设计控制器。
  • 使用时域和频域中的超调、上升时间、相位裕度、增益裕度及其他性能和稳定性特性,以交互方式分析控制系统性能。
  • 自动调节 PID、增益调度和任意 SISO 和 MIMO 控制系统。
  • 设计和实现稳健的模型预测控制器或使用无模型控制方法,如模型引用自适应控制、极值搜索控制、强化学习和模糊逻辑。
  • 将控制算法部署到嵌入式系统,用于实时控制、调节或参数估计。
  • 设计和测试状态监控与预测性维护算法。

首先,我们先来做一个简单的控制系统建模,用官方示例:Control System Modeling with Model Objects

在MATLAB中,我们可以在命令行中打开示例:

openExample('control/ControlSystemModelingWithModelObjectsExample')

模型对象可以表示控制系统中的各个组件,例如执行器、传感器或控制器。可以连接模型对象以构建表示多个元素的组合框图模型。

例如,以下控制系统包含预处理 F、传递函数 G 和控制器 C,它们以单回路配置排列。该模型还包括反馈的表示形式 S。

在这里插入图片描述

可以将每个组件表示为一个模型对象,例如,将传递函数 G 表示为零极点增益模型,双极点在 = -1;C 作为 PID 控制器,F 和 S 作为传递函数:

G = zpk([],[-1,-1],1);
C = pid(2,1.3,0.3,0.5);
S = tf(5,[1 4]);
F = tf(1,[1 1]);

创建完模型对象后,可以将这些元素组合在一起构建系统模型,以表示控制系统或其他系统。

开环响应:open_loop = S*G*C;

闭环响应:T = feedback(G*C,S);

将预处理 F也添加进来,构成整个闭环控制系统:

Try = T*F;

构建完成后,可以使用“控制系统工具箱”的相关函数对系统模型进行处理。例如,绘制整个系统的阶跃响应:

stepplot(Try)

运行结果如下:

在这里插入图片描述

有了这些知识,就可以去创建自己要用的控制系统了。

以上。

相关文章:

  • 设计模式——模板模式
  • 倍投技巧 - 凯利公式教你如何用正确的方法投资
  • SpringBoot restful api接口设计
  • 软件测试高薪“骗局”软件测试入门就月薪过万,还包就业。别再上当受骗了、清醒点吧
  • 【DP 动态规划 | 精选推荐】持续更新
  • 专利的要求-需要什么条件?
  • Google Earth Engine (GEE)——GEE制作gif动态图(北京市为例)
  • Spring-Framework-ioc-1
  • Vue 动态换肤
  • 从零到一搭建基础架构-玩转maven依赖版本管理
  • CE修改器学习历程之下载、安装和汉化
  • 【鸟哥杂谈】物联网体系知识梳理
  • (附源码)计算机毕业设计SSM智能化管理的仓库管理
  • C语言必刷题——期末不挂科
  • 基于微信小程序+SSM+Vue+Node实现智慧旅游商城系统
  • Angular2开发踩坑系列-生产环境编译
  • Fastjson的基本使用方法大全
  • HashMap剖析之内部结构
  • Transformer-XL: Unleashing the Potential of Attention Models
  • 程序员该如何有效的找工作?
  • 大快搜索数据爬虫技术实例安装教学篇
  • 对象引论
  • 聊聊hikari连接池的leakDetectionThreshold
  • 入门级的git使用指北
  • 设计模式走一遍---观察者模式
  • 微信开放平台全网发布【失败】的几点排查方法
  • 微信小程序:实现悬浮返回和分享按钮
  • 一道闭包题引发的思考
  • 白色的风信子
  • [Shell 脚本] 备份网站文件至OSS服务(纯shell脚本无sdk) ...
  • C# - 为值类型重定义相等性
  • 哈罗单车融资几十亿元,蚂蚁金服与春华资本加持 ...
  • ​​​​​​​GitLab 之 GitLab-Runner 安装,配置与问题汇总
  • # C++之functional库用法整理
  • #162 (Div. 2)
  • #调用传感器数据_Flink使用函数之监控传感器温度上升提醒
  • #我与Java虚拟机的故事#连载04:一本让自己没面子的书
  • #周末课堂# 【Linux + JVM + Mysql高级性能优化班】(火热报名中~~~)
  • $ git push -u origin master 推送到远程库出错
  • (poj1.2.1)1970(筛选法模拟)
  • (python)数据结构---字典
  • (pytorch进阶之路)扩散概率模型
  • (zhuan) 一些RL的文献(及笔记)
  • (分布式缓存)Redis哨兵
  • (十二)springboot实战——SSE服务推送事件案例实现
  • (算法)N皇后问题
  • (转)socket Aio demo
  • *_zh_CN.properties 国际化资源文件 struts 防乱码等
  • ./indexer: error while loading shared libraries: libmysqlclient.so.18: cannot open shared object fil
  • .NET Core MongoDB数据仓储和工作单元模式封装
  • .NET Core WebAPI中使用Log4net 日志级别分类并记录到数据库
  • .NET 回调、接口回调、 委托
  • .Net 应用中使用dot trace进行性能诊断
  • .NET开发不可不知、不可不用的辅助类(一)
  • .NET设计模式(11):组合模式(Composite Pattern)